为什么在将管理员添加到用户时 rake db:migrate 不起作用?
Why rake db:migrate doesn't work when adding Admin to User?
我不知道为什么我无法将列 "Admin" 添加到我的用户 table。我在终端 "rails g migration AddAdminToUsers admin:boolean" 中 运行 并在 db/migrate 中创建文件。当我 运行 rake db:migrate 我得到以下错误:
关系 "users" 的 "PG::DuplicateColumn: ERROR: column "admin" 已经存在"
在 schema.rb 文件中,我没有看到管理栏。当我 运行 rake db:migrate:status 时,我可以看到 "Add admin to users" 的状态是 "down",而其他一切都是 "up"。我可以通过键入 rails db:migrate:reset 来解决问题,但随后我丢失了我的用户数据以及其他数据。
如何将管理栏添加到我的用户 table?
"PG::DuplicateColumn: ERROR: column "admin" of relation "users" already exists"
错误信息很清楚。您的 users
table 中已有 admin
列。您必须先删除它,然后才能将 admin
列添加到 users
table.
要删除已经存在的 admin
列,生成一个迁移:
rails g migration RemoveAdminFromUsers admin:boolean
然后 运行 从 users
中删除 admin
的迁移:
rake db:migrate
现在您可以重新添加它了:
rails g migration AddAdminToUsers admin:boolean
我不知道为什么我无法将列 "Admin" 添加到我的用户 table。我在终端 "rails g migration AddAdminToUsers admin:boolean" 中 运行 并在 db/migrate 中创建文件。当我 运行 rake db:migrate 我得到以下错误:
关系 "users" 的"PG::DuplicateColumn: ERROR: column "admin" 已经存在"
在 schema.rb 文件中,我没有看到管理栏。当我 运行 rake db:migrate:status 时,我可以看到 "Add admin to users" 的状态是 "down",而其他一切都是 "up"。我可以通过键入 rails db:migrate:reset 来解决问题,但随后我丢失了我的用户数据以及其他数据。
如何将管理栏添加到我的用户 table?
"PG::DuplicateColumn: ERROR: column "admin" of relation "users" already exists"
错误信息很清楚。您的 users
table 中已有 admin
列。您必须先删除它,然后才能将 admin
列添加到 users
table.
要删除已经存在的 admin
列,生成一个迁移:
rails g migration RemoveAdminFromUsers admin:boolean
然后 运行 从 users
中删除 admin
的迁移:
rake db:migrate
现在您可以重新添加它了:
rails g migration AddAdminToUsers admin:boolean