rake db:migrate的奇怪错误

时间:2014-06-10 12:13:51

标签: ruby-on-rails ruby devise ruby-on-rails-4.1

我已经用Google搜索过,似乎没有任何内容。

尝试为我的项目设置设计时发生此错误。 通过gem "devise"将bundle安装到我的Gemfile中,我运行rails g devise:install,然后rails g devise authorize。设计授权创建了一些数据库迁移,在迁移这些更改后,我得到了这个:

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

wrong number of arguments (2 for 1)/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/activerecord-4.1.2.rc1/lib/active_record/attribute_assignment.rb:14:in `assign_attributes'

我应该使用最新的delayed_jobs(根据Gemfile.lock的3.2.4)。如果问题确实存在于attribute_assignment.rb中,并且我在本地修复它,那么当我将代码推送到生产环境中时,它会突破它吗?这是其他人之前见过的问题吗?是Devise还是其他问题?我该如何解决这个问题?

我甚至不知道从哪里开始,但我已经尝试过捆绑更新,我已经在google上搜索了一段时间的错误,尝试了不同的组合,采取了类似的搜索主题&安培;研究,我完全迷失了。我没有发现任何相关内容。我不知道错误的真正来源,或任何事情。我甚至不确定我在寻找什么。

Rails 4.1.2

Ruby 2.0

Ubuntu 12.04 lts

完整输出 -

** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Invoke db:load_config (first_time)
** Execute db:load_config
** Execute db:migrate
== 20140609160442 DeviseCreateAuthorizes: migrating ===========================
-- create_table(:authorizes)
   -> 0.1993s
-- add_index(:authorizes, :email, {:unique=>true})
   -> 0.0559s
-- add_index(:authorizes, :reset_password_token, {:unique=>true})
   -> 0.0561s
== 20140609160442 DeviseCreateAuthorizes: migrated (0.3121s) ==================

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

wrong number of arguments (2 for 1)/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/activerecord-4.1.2.rc1/lib/active_record/attribute_assignment.rb:14:in `assign_attributes'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/attr_encrypted-1.3.2/lib/attr_encrypted/adapters/active_record.rb:17:in `perform_attribute_assignment'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/attr_encrypted-1.3.2/lib/attr_encrypted/adapters/active_record.rb:24:in `assign_attributes_with_attr_encrypted'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/protected_attributes-1.0.7/lib/active_record/mass_assignment_security/core.rb:8:in `init_attributes'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/activerecord-4.1.2.rc1/lib/active_record/core.rb:198:in `initialize'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/activerecord-4.1.2.rc1/lib/active_record/inheritance.rb:30:in `new'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/activerecord-4.1.2.rc1/lib/active_record/inheritance.rb:30:in `new'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/protected_attributes-1.0.7/lib/active_record/mass_assignment_security/validations.rb:15:in `create!'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/activerecord-4.1.2.rc1/lib/active_record/migration.rb:1023:in `record_version_state_after_migrating'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/activerecord-4.1.2.rc1/lib/active_record/migration.rb:993:in `block in execute_migration_in_transaction'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/activerecord-4.1.2.rc1/lib/active_record/migration.rb:1038:in `block in ddl_transaction'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/activerecord-4.1.2.rc1/lib/active_record/connection_adapters/abstract/database_statements.rb:201:in `block in transaction'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/activerecord-4.1.2.rc1/lib/active_record/connection_adapters/abstract/database_statements.rb:209:in `within_new_transaction'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/activerecord-4.1.2.rc1/lib/active_record/connection_adapters/abstract/database_statements.rb:201:in `transaction'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/activerecord-4.1.2.rc1/lib/active_record/transactions.rb:208:in `transaction'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/activerecord-4.1.2.rc1/lib/active_record/migration.rb:1038:in `ddl_transaction'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/activerecord-4.1.2.rc1/lib/active_record/migration.rb:991:in `execute_migration_in_transaction'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/activerecord-4.1.2.rc1/lib/active_record/migration.rb:953:in `block in migrate'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/activerecord-4.1.2.rc1/lib/active_record/migration.rb:949:in `each'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/activerecord-4.1.2.rc1/lib/active_record/migration.rb:949:in `migrate'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/activerecord-4.1.2.rc1/lib/active_record/migration.rb:807:in `up'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/activerecord-4.1.2.rc1/lib/active_record/migration.rb:785:in `migrate'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/activerecord-4.1.2.rc1/lib/active_record/railties/databases.rake:34:in `block (2 levels) in <top (required)>'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/rake-10.3.2/lib/rake/task.rb:240:in `call'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/rake-10.3.2/lib/rake/task.rb:240:in `block in execute'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/rake-10.3.2/lib/rake/task.rb:235:in `each'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/rake-10.3.2/lib/rake/task.rb:235:in `execute'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/rake-10.3.2/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
/home/josh/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/monitor.rb:211:in `mon_synchronize'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/rake-10.3.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/rake-10.3.2/lib/rake/task.rb:165:in `invoke'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/rake-10.3.2/lib/rake/application.rb:150:in `invoke_task'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/rake-10.3.2/lib/rake/application.rb:106:in `block (2 levels) in top_level'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/rake-10.3.2/lib/rake/application.rb:106:in `each'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/rake-10.3.2/lib/rake/application.rb:106:in `block in top_level'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/rake-10.3.2/lib/rake/application.rb:115:in `run_with_threads'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/rake-10.3.2/lib/rake/application.rb:100:in `top_level'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/rake-10.3.2/lib/rake/application.rb:78:in `block in run'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/rake-10.3.2/lib/rake/application.rb:176:in `standard_exception_handling'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/rake-10.3.2/lib/rake/application.rb:75:in `run'
/home/josh/TG/tax-guard-internal/bin/rake:8:in `<top (required)>'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/activesupport-4.1.2.rc1/lib/active_support/dependencies.rb:241:in `load'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/activesupport-4.1.2.rc1/lib/active_support/dependencies.rb:241:in `block in load'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/activesupport-4.1.2.rc1/lib/active_support/dependencies.rb:232:in `load_dependency'
/home/josh/.rvm/gems/ruby-2.0.0-p247@latest/gems/activesupport-4.1.2.rc1/lib/active_support/dependencies.rb:241:in `load'
/home/josh/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
/home/josh/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
-e:1:in `<main>'
Tasks: TOP => db:migrate

迁移 - (这是自动的,我没有写过它,也不太了解它。)

class DeviseCreateAuthorizes < ActiveRecord::Migration
  def change
    create_table(:authorizes) do |t|
      ## Database authenticatable
      t.string :email,              null: false, default: ""
      t.string :encrypted_password, null: false, default: ""

      ## Recoverable
      t.string   :reset_password_token
      t.datetime :reset_password_sent_at

      ## Rememberable
      t.datetime :remember_created_at

      ## Trackable
      t.integer  :sign_in_count, default: 0, null: false
      t.datetime :current_sign_in_at
      t.datetime :last_sign_in_at
      t.string   :current_sign_in_ip
      t.string   :last_sign_in_ip

      ## Confirmable
      # t.string   :confirmation_token
      # t.datetime :confirmed_at
      # t.datetime :confirmation_sent_at
      # t.string   :unconfirmed_email # Only if using reconfirmable

      ## Lockable
      # t.integer  :failed_attempts, default: 0, null: false # Only if lock strategy is :failed_attempts
      # t.string   :unlock_token # Only if unlock strategy is :email or :both
      # t.datetime :locked_at


      t.timestamps
    end

    add_index :authorizes, :email,                unique: true
    add_index :authorizes, :reset_password_token, unique: true
    # add_index :authorizes, :confirmation_token,   unique: true
    # add_index :authorizes, :unlock_token,         unique: true
  end
end

Rails 4.1.0也不起作用,错误如下 -

** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Invoke db:load_config (first_time)
** Execute db:load_config
** Execute db:migrate
== 20140609160442 DeviseCreateAuthorizes: migrating ===========================
-- create_table(:authorizes)
   -> 0.2831s
-- add_index(:authorizes, :email, {:unique=>true})
   -> 0.0666s
-- add_index(:authorizes, :reset_password_token, {:unique=>true})
   -> 0.0559s
== 20140609160442 DeviseCreateAuthorizes: migrated (0.4060s) ==================

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

wrong number of arguments (2 for 1)/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/activerecord-4.1.0/lib/active_record/attribute_assignment.rb:14:in `assign_attributes'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/attr_encrypted-1.3.2/lib/attr_encrypted/adapters/active_record.rb:17:in `perform_attribute_assignment'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/attr_encrypted-1.3.2/lib/attr_encrypted/adapters/active_record.rb:24:in `assign_attributes_with_attr_encrypted'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/protected_attributes-1.0.7/lib/active_record/mass_assignment_security/core.rb:8:in `init_attributes'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/activerecord-4.1.0/lib/active_record/core.rb:198:in `initialize'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/activerecord-4.1.0/lib/active_record/inheritance.rb:30:in `new'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/activerecord-4.1.0/lib/active_record/inheritance.rb:30:in `new'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/protected_attributes-1.0.7/lib/active_record/mass_assignment_security/validations.rb:15:in `create!'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/activerecord-4.1.0/lib/active_record/migration.rb:1023:in `record_version_state_after_migrating'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/activerecord-4.1.0/lib/active_record/migration.rb:993:in `block in execute_migration_in_transaction'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/activerecord-4.1.0/lib/active_record/migration.rb:1038:in `block in ddl_transaction'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/database_statements.rb:211:in `block in transaction'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/database_statements.rb:219:in `within_new_transaction'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/database_statements.rb:211:in `transaction'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/activerecord-4.1.0/lib/active_record/transactions.rb:208:in `transaction'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/activerecord-4.1.0/lib/active_record/migration.rb:1038:in `ddl_transaction'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/activerecord-4.1.0/lib/active_record/migration.rb:991:in `execute_migration_in_transaction'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/activerecord-4.1.0/lib/active_record/migration.rb:953:in `block in migrate'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/activerecord-4.1.0/lib/active_record/migration.rb:949:in `each'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/activerecord-4.1.0/lib/active_record/migration.rb:949:in `migrate'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/activerecord-4.1.0/lib/active_record/migration.rb:807:in `up'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/activerecord-4.1.0/lib/active_record/migration.rb:785:in `migrate'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/activerecord-4.1.0/lib/active_record/railties/databases.rake:34:in `block (2 levels) in <top (required)>'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/rake-10.3.2/lib/rake/task.rb:240:in `call'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/rake-10.3.2/lib/rake/task.rb:240:in `block in execute'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/rake-10.3.2/lib/rake/task.rb:235:in `each'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/rake-10.3.2/lib/rake/task.rb:235:in `execute'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/rake-10.3.2/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
/home/josh/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/monitor.rb:211:in `mon_synchronize'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/rake-10.3.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/rake-10.3.2/lib/rake/task.rb:165:in `invoke'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/rake-10.3.2/lib/rake/application.rb:150:in `invoke_task'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/rake-10.3.2/lib/rake/application.rb:106:in `block (2 levels) in top_level'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/rake-10.3.2/lib/rake/application.rb:106:in `each'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/rake-10.3.2/lib/rake/application.rb:106:in `block in top_level'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/rake-10.3.2/lib/rake/application.rb:115:in `run_with_threads'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/rake-10.3.2/lib/rake/application.rb:100:in `top_level'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/rake-10.3.2/lib/rake/application.rb:78:in `block in run'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/rake-10.3.2/lib/rake/application.rb:176:in `standard_exception_handling'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/rake-10.3.2/lib/rake/application.rb:75:in `run'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/gems/rake-10.3.2/bin/rake:33:in `<top (required)>'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/bin/rake:23:in `load'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/bin/rake:23:in `<main>'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/bin/ruby_noexec_wrapper:14:in `eval'
/home/josh/.rvm/gems/ruby-2.0.0-p247@410/bin/ruby_noexec_wrapper:14:in `<main>'
Tasks: TOP => db:migrate

0 个答案:

没有答案