繁体   English   中英

如何在生产数据库而不是开发数据库上运行迁移?

[英]How can I run a migration on my production database but not my development database?

我的计算机上有一个开发数据库,​​而Heroku上有一个生产数据库。 我需要在生产数据库上运行迁移,以清除某些我不想在开发数据库上运行的数据。 到目前为止,我只做过想同时在两个平台上运行的迁移,因此,我只在计算机上创建它,然后运行它,然后当我上传到Heroku时,我也在那里运行了。 如何仅在生产数据库上进行迁移? 谢谢阅读。

  1. 创建您的迁移。
  2. 使用heroku rake db:migrate --app myapp提交,推送并在heroku上运行。
  3. 注释掉up块的内容。
  4. 在本地运行(现在为空)迁移。
  5. 取消注释或git checkout / reset即可恢复正常。

这样,本地数据库和生产数据库都将考虑已运行迁移,而不会尝试再次运行它。

迁移旨在更新数据库的结构,而不是操纵数据。 如果要操作数据,则应使用控制台或脚本。

$ heroku console

RAILS_ENV =生产佣金db:migrate

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM