如何使用db:schema:加载而不擦除数据

时间:2015-03-14 23:42:04

标签: ruby-on-rails database

我在Rails中遗漏了大量的迁移文件 ...我有数据我不想丢失生产中的数据。

我想部署新功能,但如果我使用db:schema:load我会删除我的生产数据。

有没有办法在不擦除ddbb的情况下使用它?

由于

2 个答案:

答案 0 :(得分:1)

如果您的数据库缺少迁移,则应该运行这些迁移

使用rake db:migrate

db:schema:load的重点在于它会覆盖您的架构。它会丢弃并重新创建它,您无法改变这种行为。它被包含在源代码中,没有任何选项可以阻止它。

答案 1 :(得分:0)

(1)销毁rails的迁移文件是不好的。!

(2)解决方法:在执行db:schema:load之前,获取数据库的db_dump。如果您此时检查rake db:migrate:status,则所有现有迁移都应处于UP状态。最后运行rake db:schema:加载然后恢复你的databack。