我在Rails中遗漏了大量的迁移文件 ...我有数据我不想丢失生产中的数据。
我想部署新功能,但如果我使用db:schema:load
我会删除我的生产数据。
有没有办法在不擦除ddbb的情况下使用它?
由于
答案 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。