Ruby on rails &引用;发生错误,此迁移和所有后续迁移已取消";添加ExtUserMail后
我正在学习关于模特用户的电子书(第6章)。我正在尝试通过运行以下命令向用户电子邮件添加索引:Ruby on rails &引用;发生错误,此迁移和所有后续迁移已取消";添加ExtUserMail后,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我正在学习关于模特用户的电子书(第6章)。我正在尝试通过运行以下命令向用户电子邮件添加索引: rails generate migration add_index_to_users_email 这给了我db/migrate/[timestamp]\u将\u索引添加到\u users\u email.rb文件: class AddIndexToUsersEmail < ActiveRecord::Migration def change add_index :users, :e
rails generate migration add_index_to_users_email
这给了我db/migrate/[timestamp]\u将\u索引添加到\u users\u email.rb
文件:
class AddIndexToUsersEmail < ActiveRecord::Migration
def change
add_index :users, :email, unique: true # I add this line
end
end
这是我的Gemfile顺便说一句:
source 'https://rubygems.org'
gem 'rails', '4.2.0'
gem 'bootstrap-sass', '3.2.0.0'
gem 'sass-rails', '5.0.2'
gem 'uglifier', '2.5.3'
gem 'coffee-rails', '4.1.0'
gem 'jquery-rails', '4.0.3'
gem 'turbolinks', '2.3.0'
gem 'jbuilder', '2.2.3'
gem 'sdoc', '0.4.0', group: :doc
group :development, :test do
gem 'sqlite3', '1.3.9'
gem 'byebug', '3.4.0'
gem 'web-console', '2.0.0.beta3'
gem 'spring', '1.1.3'
end
group :test do
gem 'minitest-reporters', '1.0.5'
gem 'mini_backtrace', '0.1.3'
gem 'guard-minitest', '2.3.1'
end
group :production do
gem 'pg', '0.17.1'
gem 'rails_12factor', '0.0.2'
end
如何解决此问题?您可能正在执行迁移,而rails控制台处于打开状态。因此,您需要在打开的rails控制台程序中执行以下命令:
ActiveRecord::Base.connection.execute("BEGIN TRANSACTION; END;")
可能是在rails控制台打开时执行迁移。因此,您需要在打开的rails控制台程序中执行以下命令:
ActiveRecord::Base.connection.execute("BEGIN TRANSACTION; END;")
这与会话问题有关,请检查其他会话是否已打开rails s或rails c。关闭它们将解决问题。这与会话问题有关,请检查rails s或rails c是否打开了其他会话。关闭它们将解决问题。我退出rails控制台,它现在可以工作了。谢谢那么请将此作为回答。我退出rails控制台,它现在正在工作。谢谢那么请将此作为回答。我退出rails控制台,它现在正在工作。谢谢你不必!您可以在rails控制台打开的情况下使用它。这就是我在回答中写的。我退出rails控制台,它现在可以工作了。谢谢你不必!您可以在rails控制台打开的情况下使用它。这就是我在回答中写的。