Rails 怎么把 activerecord 的 production 数据导出到文件,再导入到 development 里

cqpx · 发布于 2011年11月08日 · 最后由 ery 回复于 2012年02月08日 · 2806 次阅读
96

最好是可以在rails console里执行的啦

最好是类似这样的 RAILS_ENV=production rails c dump User.all to usr.db exit rails c load usr.db User

现在的情况是我的production表里有很多数据了, 我想在开发的时候也用这些数据, 不知道用什么办法导过来比较好

dbms用的postgres,用postgres命令也可以

thanks cqpx

共收到 5 条回复
3

我觉得走psql最简单了,直接通过命令做一个production数据库的clone就可以了吧?

CREATE DATABASE new_database WITH TEMPLATE original_database;
De6df3

mysqldump 成 sql 文件,手动修改数据库名次,然后到 mysql shell 里面 source 那个文件

96

#1楼 @lgn21st 谢谢大哥的提醒,原来TEMPLATE还有这种用法。注意力从rails console转移到psql之后发现了COPY TO和COPY FROM命令,可以将一个表的数据写到文件里

#2楼 @huacnlee 早上在rubyconf china的发言人里看到大哥的名字了,可惜我在重庆。。 以前就是用dump的办法,这样会把整个数据库都dump出来,但我只需要其中一个表的数据。怕下载次数太多vps超流量。。

我现在备份的办法就是dump到文件,然后7zip压缩再下到我自己电脑上,这样的问题是压缩时占cpu,下一次就几百兆占流量。大家备份数据采用的什么办法?

132

最原始的办法就最好

mysqldump ... > xx.txt mysql ... < xx.txt

594

搭个车,我曾想如果db中的的数据,能够直接转换成fixtrues该多好,但我一直没有深入研究,理论上,通过activerecord读取,然后输出yml,应该可行。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册