有可能"回滚" DB:填充?

时间:2012-09-20 19:28:39

标签: ruby-on-rails rake

我使用Faker gem为20位用户填充了我的开发数据库和虚拟数据。

我忘了包含“created_at”时间,所以现在它们都是在我手工创建的详细用户记录之前排序的。我想要:

1)删除20个虚拟用户,并用较旧的“created_at”次重新填充它们,或

2)用较旧的时间更新20个虚拟用户的“created_at”属性。

如果有办法撤消我的初始人口耙,选项1很容易。有没有办法做到这一点?

谢谢!

1 个答案:

答案 0 :(得分:1)

在rails中,除了rake任务之外,没有选项可以删除数据库中的数据。

在这种情况下,我认为选项1 更好,因为没有太多努力。由于created_at会在创建recored时自动更新,因此您无需这样做。您只需要从users表中删除数据。

在终端的项目文件夹中输入键入rails db ,然后输入以下命令

delete from users where id in ( select id from users order desc LIMIT 20)

它将删除最近20位用户。

创建新迁移,将 created_at列添加到表格。

运行 rake任务

一切都会变得完美!

由于