如何从本地数据库的设计中删除所有用户
How can I delete all users from devise on local database
我需要从我的数据库中删除所有用户,以便我可以开始进行用户身份验证,我在测试时创建了多个帐户,但不记得他们的信息,所以如果有办法从终端执行此操作会是最好的选择
删除单个 table(使用回调)并让 ID 从 1 开始:
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}'")
如果您希望删除用户的数据库访问权限,
如果您使用的是 PostgreSQL,请尝试以下操作:
SELECT *
FROM pg_user;
DELETE FROM
pg_user
WHERE condition;
您可以从 Rails 控制台执行此操作,您可以通过 运行ning:
启动
bin/rails c
然后,假设您的用户模型称为 User
,您可以 运行:
User.destroy_all
这将删除所有现有的用户记录。如果不同,请将 User
替换为您的型号名称。
要退出控制台,只需键入 exit
。
希望对您有所帮助!
运行 rails 通过 rails c
控制台然后通过 User.delete_all
删除所有用户
我需要从我的数据库中删除所有用户,以便我可以开始进行用户身份验证,我在测试时创建了多个帐户,但不记得他们的信息,所以如果有办法从终端执行此操作会是最好的选择
删除单个 table(使用回调)并让 ID 从 1 开始:
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}'")
如果您希望删除用户的数据库访问权限, 如果您使用的是 PostgreSQL,请尝试以下操作:
SELECT *
FROM pg_user;
DELETE FROM
pg_user
WHERE condition;
您可以从 Rails 控制台执行此操作,您可以通过 运行ning:
启动bin/rails c
然后,假设您的用户模型称为 User
,您可以 运行:
User.destroy_all
这将删除所有现有的用户记录。如果不同,请将 User
替换为您的型号名称。
要退出控制台,只需键入 exit
。
希望对您有所帮助!
运行 rails 通过 rails c
控制台然后通过 User.delete_all