在不删除现有数据的情况下在数据库中加载新模式 rails

loading new schema in database without deleting existing data rails

我遇到了这种情况,我在生产环境中有一个数据库,现在我必须在 table 中添加几列并从数据库中删除 1 table。我 运行 所有迁移,例如 rails g migration AddDeskToHelper desk:string 和类似的删除 table。

但现在我想将这个新生成的模式上传到现有数据库中,而不从数据库中删除任何数据。

我正在搜索它,但没有找到任何准确的答案。

例如,here 它说 rake db:schema:load 删除了生产环境中数据库中的所有数据。

请在这种情况下帮助我。

如果您已创建迁移以在现有 table 中添加一些列或删除一些 table,rake db:migrate RAILS_ENV=production 命令将执行 "ALTER table..." 而不会破坏你的数据,除了你正在删除一个 col 或 table 数据内容。

但始终建议在更改生产数据库之前执行数据库备份。