繁体   English   中英

删除并重新创建一个表(在Heroku上)

[英]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.

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