在Rails中弹出更新后无法运行迁移

sac*_*god 13 ruby-on-rails rails-migrations

我在运行任何迁移时遇到错误:

raj@notebook-pc:~/Desktop/Projects/invoicemanagement$ rails g migration RemoveDescriptionOfGoodsFromInvoiceDetails description_of_goods:string
Warning: You're using Rubygems 1.8.23 with Spring. Upgrade to at least Rubygems 2.1.0 and run `gem pristine --all` for better startup performance.
/var/lib/gems/1.9.1/gems/bundler-1.9.0/lib/bundler/runtime.rb:34:in `block in setup': You have already activated spring 1.3.3, but your Gemfile requires spring 1.3.2. Prepending `bundle exec` to your command may solve this. (Gem::LoadError)
    from /var/lib/gems/1.9.1/gems/bundler-1.9.0/lib/bundler/runtime.rb:19:in `setup'

    ** 11 stack trace lines skipped **

    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
Run Code Online (Sandbox Code Playgroud)

所以通过一些谷歌搜索我运行捆绑更新弹簧,它解决了上述错误,我能够删除/添加迁移.再次,如果我运行rake db:migrate,我收到错误:

rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:

undefined method `to_sym' for nil:NilClass/var/lib/gems/1.9.1/gems/activerecord-4.1.4/lib/active_record/connection_adapters/abstract/schema_definitions.rb:216:in `column'

    ** 33 stack trace lines skipped **

/var/lib/gems/1.9.1/gems/activerecord-4.1.4/lib/active_record/railties/databases.rake:34:in `block (2 levels) in <top (required)>'
Tasks: TOP => db:migrate
Run Code Online (Sandbox Code Playgroud)

请帮我.

kle*_*ell 28

运行bundle update并更新Spring后,运行控制台时出现以下错误:

There is a version mismatch between the spring client and the server.
You should restart the server and make sure to use the same version.

CLIENT: 1.3.4, SERVER: 1.3.3
Run Code Online (Sandbox Code Playgroud)

我按照这个Github问题中的建议运行了:

spring stop
Run Code Online (Sandbox Code Playgroud)

这为我解决了这个问题.