我不知道为什么我无法添加专栏" Admin"到我的用户表。我在终端中运行" rails g migration AddAdminToUsers admin:boolean"它在db / migrate中创建文件。当我运行rake db:migrate时,我收到以下错误:
" PG :: DuplicateColumn:ERROR:column" admin"关系"用户"已存在"
在schema.rb文件中,我没有看到有一个admin列。当我运行rake db:migrate:status时,我可以看到"添加admin给用户的状态"是" down"而其他一切都是" up"。我可以通过键入rails db:migrate:reset来解决此问题,但之后我丢失了我的用户数据以及其他数据。
如何将管理列添加到我的用户表?
答案 0 :(得分:1)
"PG::DuplicateColumn: ERROR: column "admin" of relation "users" already exists"
错误信息非常清楚。您的admin
表格中已有users
列。您必须先删除该列,然后才能将admin
列添加到users
表格。
要删除现有的admin
列,请生成迁移:
rails g migration RemoveAdminFromUsers admin:boolean
然后运行迁移以从admin
中删除users
:
rake db:migrate
现在您可以重新添加它:
rails g migration AddAdminToUsers admin:boolean