[英]Drop and Recreate a single table (on Heroku)
我的应用程序处于测试阶段,我一直在对涉及新模型的功能进行有限测试。 经过大量的测试后,我不得不进行结构改变,使旧数据无法正常运行。
我需要做的就是删除并重新创建一个表。 我知道我可以在迁移中执行此操作,但这看起来像是一个黑客。 在本地开发副本中,我只使用db:reset
,但在beta应用程序中,我不希望丢失除此之外的任何表中的数据。
这是指示生产应用程序删除并重新创建单个表的简单方法。 就我而言,我正在使用Heroku进行部署,以防影响您如何解决此问题。
要在Heroku上清空表而不更改架构,请在应用程序的目录中:
$ heroku run console
Ruby console for myap.heroku.com
>> ModelName.delete_all
>> exit
我知道我可以在迁移中执行此操作,但这看起来像是一个黑客。
这不是一个黑客。 这正是迁移的目的所在。
heroku run console
irb(main):001:0> ModelName.delete_all
你完成了。
您需要重新运行该表的迁移才能进行结构更改。 我以前没有使用过ActiveRecord,但是我也会使用heroku控制台中的ModelName.delete_all
删除表中的数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.