我正在使用带有几个git分支的rails应用程序。我们使用Capistrano :: Rails部署生产模式。
目前让我苦苦挣扎的是,我在分支的用户表中添加并删除了几个列,并在将其合并到主分支后,运行rake db:schema:load
。因此,重置开发模式中的数据库并丢失所有数据(这很好)。但是,我不想在生产模式中丢失所有数据。在生产数据库中,我可以接受丢失用户表中的数据,但我不想丢失生产模式中其他表中的数据。
那我该怎么做呢。
我们目前在aws RDS上使用PostgreSQL。
答案 0 :(得分:1)
ActiveRecord migrations。而不是运行rake db:schema:load
,而是通过迁移更改数据库并运行rake db:migrate
(或rails db:migrate
如果Rails 5)