如何从本地数据库的devise中删除所有用户

时间:2018-01-05 23:58:45

标签: ruby-on-rails devise

我需要从我的数据库中删除所有用户,以便我可以开始进行用户身份验证,我在测试时已经创建了几个帐户,并且不记得他们的信息,所以如果有办法从终端执行此操作,那么最好的选择

4 个答案:

答案 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;