在数据库中加载新架构而不删除现有数据轨道

时间:2015-01-21 08:28:09

标签: mysql ruby-on-rails ruby ruby-on-rails-4 activerecord

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

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

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

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

请在这种情况下帮助我。

1 个答案:

答案 0 :(得分:1)

如果您已创建迁移以在现有表中添加一些cols或删除某些表,rake db:migrate RAILS_ENV=production命令将执行“ALTER表...”而不会破坏您的数据,除非您丢弃col或包含数据内容的表。

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