rake db:migrate VERSION=0 是如何工作的?
How does rake db:migrate VERSION=0 work?
我是 ruby 的新手。我收到这个错误
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
怎么解决呢?
如果不是,为什么我会收到那个错误?
它基本上运行了第一次迁移。您可以指定要将数据库迁移到的任何版本号。
您可能在同一个模型上做了两次 "rails generate model ....",但没有破坏其中一个迁移,它仍然存在于 "db/migrate/" 文件夹中。
我建议您阅读一些有关迁移的内容 here。
我是 ruby 的新手。我收到这个错误
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
怎么解决呢?
如果不是,为什么我会收到那个错误?
它基本上运行了第一次迁移。您可以指定要将数据库迁移到的任何版本号。
您可能在同一个模型上做了两次 "rails generate model ....",但没有破坏其中一个迁移,它仍然存在于 "db/migrate/" 文件夹中。
我建议您阅读一些有关迁移的内容 here。