class Profile < ActiveRecord::Base
  has_many :favorites, :dependent => :destroy
  has_many :friends, :dependent => :destroy
end

我需要这样的东西:
mysqldump --opt --where="1 limit 1000" -uroot development profiles  > profiles.sql

但是这个转储(如预期的那样)只包含 1000 个配置文件行,没有关联 friend 、收藏夹。

我应该使用 YAML 还是我应该怎么做?

最佳答案

取前 5000 条记录:

mysqldump --opt --where="1 limit 5000" -uroot development profiles  > profiles.sql

然后找到所有与此记录相关的 friend :
mysqldump --opt --lock-all-tables --where="profile_id IN (SELECT * FROM (SELECT id FROM profiles LIMIT 5000) temp);" -uroot development friends  > friends.sql

关于mysql - 转储具有限制和所有关联的数据库表的最佳方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13356041/

10-11 01:15