0
试图名称字段中轨获取耙分贝:迁移错误
增加了$轨产生迁移AddNameToUsers名称添加到我的simple_form:字符串,它已被添加到文件的user.db到&
我的迁移文件
class AddNameToUsers < ActiveRecord::Migration
def change
add_column :users, :name, :string
end
end
但是当我运行耙db:migrate
我得到以下错误(也跑束EXEC ...)
rake中止!发生了错误,这和所有后来迁移取消:
SQLite3::SQLException: duplicate column name: email: ALTER TABLE "users" ADD "email" varchar(255) DEFAULT '' NOT NULL/usr/local/rvm/gems/ruby-1.9.3-p392/gems/sqlite3-1.3.8/lib/sqlite3/database.rb:91:in `initialize' /usr/local/rvm/gems/ruby-1.9.3-p392/gems/sqlite3-1.3.8/lib/sqlite3/database.rb:91:in `new' /usr/local/rvm/gems/ruby-1.9.3-p392/gems/sqlite3-1.3.8/lib/sqlite3/database.rb:91:in `prepare' /usr/local/rvm/gems/ruby-1.9.3-p392/gems/sqlite3-1.3.8/lib/sqlite3/database.rb:134:in `execute'
什么想法?
错误是正确的在第一行它说'重复的列名称:电子邮件:ALTER TABLE“用户”添加“电子邮件”'所以在你的迁移某处你已经有一个名为电子邮件列。这需要先解决,然后才能运行db:migrate。每次运行'db:migrate'命令时,它都会迁移整个数据库,并发现您有一个名为email的现有字段。你能检查你是否有这个。如果你有这个,你需要删除它。因为另一个迁移尝试添加列名“email” – David
感谢连接 - 说实话@david不太确定在哪里寻找。我在我的迁移文件devise_create_users.rb&add_devise_to_users.rb&add_name_to_name_to_users.rb中有3个文件。我的user.db文件有这个 - > attr_accessible:电子邮件,:密码,:password_confirmation,:remember_me,:名称不知道我将如何删除电子邮件字段。 Iam试图添加一个名称字段到我的注册表单,它与电子邮件和密码字段一起工作,因为我添加了一个名称字段不起作用? – Neil
请发布您的devise_create_users.rb和add_devise_to_users.rb迁移文件。 –