我需要从我的数据库中删除所有用户,以便我可以开始进行用户身份验证,我在测试时已经创建了几个帐户,并且不记得他们的信息,所以如果有办法从终端执行此操作,那么最好的选择
答案 0 :(得分:1)
删除单个表(使用回调)并从1开始获取ID:
Model.destroy_all # Only necessary if you want to trigger callbacks.
ActiveRecord::Base.connection.execute("TRUNCATE #{table_name} RESTART IDENTITY")
如果您使用的是Sqlite,则它不支持截断,请执行以下操作:
Model.destroy_all # Only necessary if you want to trigger callbacks.
ActiveRecord::Base.connection.execute("Delete from #{table_name}")
ActiveRecord::Base.connection.execute("DELETE FROM SQLITE_SEQUENCE WHERE name='#{table_name}'")
答案 1 :(得分:1)
您可以从Rails控制台执行此操作,您可以通过运行来启动:
bin/rails c
然后,假设您的用户模型名为User
,则可以运行:
User.destroy_all
这将删除所有现有的用户记录。如果模型名称不同,请将User
替换为任何模型名称。
要退出控制台,只需输入exit
。
希望有所帮助!
答案 2 :(得分:1)
按rails c
运行rails控制台,然后按User.delete_all
答案 3 :(得分:0)
如果您要删除用户的数据库访问权限, 如果您正在使用PostgreSQL,请尝试以下内容:
SELECT *
FROM pg_user;
DELETE FROM
pg_user
WHERE condition;