Rails开发模式数据库迁移后如何不丢失生产模式所有数据

How to not lost all data in production mode after database migration in development mode in Rails

我正在与一些 git b运行ches 开发 rails 应用程序。我们使用 Capistrano::Rails.

部署生产模式

我目前比较纠结的是,我在一个b运行ch中,在用户table中增删了几列,合并到master b运行ch后,我运行rake db:schema:load。所以开发模式下的数据库被重置,所有数据都丢失了(这很好)。但是,我不想在生产模式下丢失所有数据。在生产数据库中,我可以接受丢失用户 table 中的数据,但我不想在生产模式下丢失其他 table 中的数据。

那我该怎么做呢

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

ActiveRecord migrations 就是为此目的创建的。而不是 运行 rake db:schema:load,通过迁移和 运行 rake db:migrate(或 rails db:migrate if Rails 5)

来更改数据库