rake db:migrate VERSION = 0如何工作?

时间:2015-04-30 07:53:18

标签: ruby-on-rails ruby dbmigrate

我是红宝石的新手。我收到了这个错误

 bundle exec rake db:migrate

== 20150423205259 AddActivationToUsers: migrating =============================
-- add_column(:users, :activation_digest, :string)
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:

SQLite3::SQLException: duplicate column name: activation_digest: ALTER TABLE "users" ADD "activation_digest" varchar/home/myusername/.rvm/gems/ruby-2.2.0/gems/sqlite3-1.3.9/lib/sqlite3/database.rb:91:in `initialize'

当我运行rake db:migrate VERSION=0时它就解决了 如果我真的有重复的列名,rake db:migrate VERSION=0如何解决它? 如果没有,为什么我会收到这个错误?

1 个答案:

答案 0 :(得分:2)

它基本上运行了第一次迁移。您可以指定要将数据库迁移到的任何版本号。

你可能做过" rails生成模型......"两次在同一型号上,但没有销毁其中一次迁移,它仍然存在于" db / migrate /"文件夹中。

我建议您阅读一些有关迁移的信息here