我使用 Faker gem 为我的开发数据库填充了 20 个用户的虚拟数据。
我忘了包括“created_at”时间,所以它们现在都在我手工创建的详细用户记录之前排序。我想:
1) 删除 20 个虚拟用户,并用旧的“created_at”时间重新填充它们,或者
2) 用旧的时间更新 20 个虚拟用户的“created_at”属性。
如果有办法撤销我的初始人口抽查,选项 1 就足够简单了。有没有办法做到这一点?
谢谢!
我使用 Faker gem 为我的开发数据库填充了 20 个用户的虚拟数据。
我忘了包括“created_at”时间,所以它们现在都在我手工创建的详细用户记录之前排序。我想:
1) 删除 20 个虚拟用户,并用旧的“created_at”时间重新填充它们,或者
2) 用旧的时间更新 20 个虚拟用户的“created_at”属性。
如果有办法撤销我的初始人口抽查,选项 1 就足够简单了。有没有办法做到这一点?
谢谢!
在 Rails 中,除了 rake 任务之外,没有其他选项可以删除数据库中的数据。
在这种情况下,我认为选项 1更好,因为不需要付出太多努力。由于 created_at 在创建记录时会自动更新,因此您无需这样做。您只需要从用户表中删除数据。
只需在终端的项目文件夹中输入 rails db并输入以下命令
delete from users where id in ( select id from users order desc LIMIT 20)
它将删除最后 20 个用户。
创建一个新的迁移以将created_at 列添加到表中。
运行rake 任务。
一切都会完美!
谢谢