如何在Rails中的开发模式下进行数据库迁移后,不会丢失生产模式中的所有数据

时间:2017-11-01 18:22:34

标签: ruby-on-rails rails-activerecord capistrano

我正在使用带有几个git分支的rails应用程序。我们使用Capistrano :: Rails部署生产模式。

目前让我苦苦挣扎的是,我在分支的用户表中添加并删除了几个列,并在将其合并到主分支后,运行rake db:schema:load。因此,重置开发模式中的数据库并丢失所有数据(这很好)。但是,我不想在生产模式中丢失所有数据。在生产数据库中,我可以接受丢失用户表中的数据,但我不想丢失生产模式中其他表中的数据。

那我该怎么做呢。

我们目前在aws RDS上使用PostgreSQL。

1 个答案:

答案 0 :(得分:1)

为此目的创建了

ActiveRecord migrations。而不是运行rake db:schema:load,而是通过迁移更改数据库并运行rake db:migrate(或rails db:migrate如果Rails 5)