不要离开我

时间:2015-10-18 19:08:57

标签: ruby postgresql activerecord database-migration rake-task

我正在尝试创建一个rake任务,它将回滚数据库但保留一个表。我猜想最简单的方法是存储该表(可能在seeds.rb中)然后重新插入它。我的ORM是activerecord,我的数据库是postgresql。

2 个答案:

答案 0 :(得分:0)

如果您只需要在开发环境中进行回滚,则可以执行回滚,编辑迁移文件以仅包含要保留的一个表,然后重新迁移。 (别忘了你可能需要回滚dev和测试环境)。

如果您已经在已经执行此迁移的团队中,那么您最好不要回滚。相反,您可以创建一个新的迁移,撤消除一个表的更改之外的所有内容。

答案 1 :(得分:0)

你的意思是删除除一个以外的所有表吗?

您可以通过tables列出Postgres表。

列出表的不同方法是here

然后你可以使用drop_table(注意cascade)。