Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails rakedb:migrate给出了一个错误_Ruby On Rails_Web Applications_Sqlite_Database Migration - Fatal编程技术网

Ruby on rails rakedb:migrate给出了一个错误

Ruby on rails rakedb:migrate给出了一个错误,ruby-on-rails,web-applications,sqlite,database-migration,Ruby On Rails,Web Applications,Sqlite,Database Migration,我刚刚尝试迁移,但我的控制台返回此 StandardError:发生了一个错误,包括此迁移和所有以后的迁移 取消: SQLite3::SQLException:重复的列名:加密的\u密码: ALTER TABLE“users”添加“加密的\u密码”varchar默认值“”不是 空的 我知道我不小心创建了两次表,并且不得不在迁移文件中进行更改?如果是,我在哪里可以找到它? 对我来说,删除整个数据库也是一个很好的解决方案 我只是想知道怎么做。到目前为止,我找到的所有解决方案都不适合我 更新: 当我这

我刚刚尝试迁移,但我的控制台返回此

StandardError:发生了一个错误,包括此迁移和所有以后的迁移 取消:

SQLite3::SQLException:重复的列名:加密的\u密码: ALTER TABLE“users”添加“加密的\u密码”varchar默认值“”不是 空的

我知道我不小心创建了两次表,并且不得不在迁移文件中进行更改?如果是,我在哪里可以找到它? 对我来说,删除整个数据库也是一个很好的解决方案

我只是想知道怎么做。到目前为止,我找到的所有解决方案都不适合我

更新: 当我这样做的时候

rake db:migrate:down VERSION=20160914093125

控制台说

==20160914093125设备创建用户:还原================================ --删除索引(:users,{:column=>:reset\u password\u token})->0.0013s --删除索引(:users,{:column=>:email})->0.0006s --下拉列表(:用户)->0.0003s ==20160914093125设备创建用户:已还原(0.0025s)=======================

这些是我应该改变的观点吗

3123(…)设计创建用户.rb

class DeviseCreateUsers < ActiveRecord::Migration[5.0]
  def change
    create_table :users 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 null: false
    end

    add_index :users, :email,                unique: true
    add_index :users, :reset_password_token, unique: true
    # add_index :users, :confirmation_token,   unique: true
    # add_index :users, :unlock_token,         unique: true
  end
end
class DevisionCreateUsers
尝试迁移后的控制台:

==20160915185631 addDeviceToUsers:正在迁移================================= --更改表格(:用户) 雷克流产了! StandardError:发生错误,此迁移和所有后续迁移已取消:

SQLite3::SQLException:没有这样的表:用户:ALTER table“users”ADD“email”varchar默认值“”不为空 /Users/matthiascordes/.rvm/gems/ruby-2.3.1/gems/sqlite3-1.3.11/lib/sqlite3/database.rb:91:in
initialize'
/Users/matthiascordes/.rvm/gems/ruby-2.3.1/gems/sqlite3-1.3.11/lib/sqlite3/database.rb:91:in
new' /Users/matthiascordes/.rvm/gems/ruby-2.3.1/gems/sqlite3-1.3.11/lib/sqlite3/database.rb:91:in
prepare'
/Users/matthiascordes/.rvm/gems/ruby-2.3.1/gems/sqlite3-1.3.11/lib/sqlite3/database.rb:134:in
execute' /Users/matthiascordes/.rvm/gems/ruby-2.3.1/gems/activerecord-5.0.0.1/lib/active\u record/connection\u adapters/sqlite3\u adapter.rb:232:in
block in execute'
/Users/matthiascordes/.rvm/gems/ruby-2.3.1/gems/activerecord-5.0.0.1/lib/active\u record/connection\u adapters/abstract\u adapter.rb:566:in
block in log' /Users/matthiascordes/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.0.1/lib/active\u support/notifications/instrumenter.rb:21:in
instrument'
/Users/matthiascordes/.rvm/gems/ruby-2.3.1/gems/activerecord-5.0.0.1/lib/active\u record/connection\u adapters/abstract\u adapter.rb:560:in
log' /Users/matthiascordes/.rvm/gems/ruby-2.3.1/gems/activerecord-5.0.0.1/lib/active\u record/connection\u adapters/sqlite3\u adapter.rb:232:in
execute'
/Users/matthiascordes/.rvm/gems/ruby-2.3.1/gems/activerecord-5.0.0.1/lib/active\u record/connection\u adapters/abstract/schema\u statements.rb:547:in
add\u column' /Users/matthiascordes/.rvm/gems/ruby-2.3.1/gems/activerecord-5.0.0.1/lib/active\u record/connection\u adapters/sqlite3\u adapter.rb:373:in
add\u列'
/Users/matthiascordes/.rvm/gems/ruby-2.3.1/gems/activerecord-5.0.0.1/lib/active\u record/connection\u adapters/abstract/schema\u definitions.rb:475:in
column' /Users/matthiascordes/.rvm/gems/ruby-2.3.1/gems/activerecord-5.0.0.1/lib/active\u record/connection\u adapters/abstract/schema\u definitions.rb:181:in
block in string'
/Users/matthiascordes/.rvm/gems/ruby-2.3.1/gems/activerecord-5.0.0.1/lib/active\u record/connection\u adapters/abstract/schema\u definitions.rb:181:in
each' /Users/matthiascordes/.rvm/gems/ruby-2.3.1/gems/activerecord-5.0.0.1/lib/active\u record/connection\u adapters/abstract/schema\u definitions.rb:181:in
string'
/用户/matthiascordes/code/recipe_box/db/migrate/20160915185631_添加_designe_到用户。rb:5:in
block in up' /Users/matthiascordes/.rvm/gems/ruby-2.3.1/gems/activerecord-5.0.0.1/lib/active\u record/connection\u adapters/abstract/schema\u statements.rb:443:in
change\u table'
/Users/matthiascordes/.rvm/gems/ruby-2.3.1/gems/activerecord-5.0.0.1/lib/active\u record/migration.rb:845:in
方法中的块 /Users/matthiascordes/.rvm/gems/ruby-2.3.1/gems/activerecord-5.0.0.1/lib/active\u record/migration.rb:814:in
用时间阻塞say\u
/Users/matthiascordes/.rvm/gems/ruby-2.3.1/gems/activerecord-5.0.0.1/lib/active\u record/migration.rb:814:in
say\u with\u time' /Users/matthiascordes/.rvm/gems/ruby-2.3.1/gems/activerecord-5.0.0.1/lib/active\u record/migration.rb:834:in
method\u missing'
/Users/matthiascordes/.rvm/gems/ruby-2.3.1/gems/activerecord-5.0.0.1/lib/active\u record/migration.rb:596:in
method\u missing' /用户/matthiascordes/code/recip
For eg, if this is the migration file,
20123219103503_add_name_field_to_user.rb
rake db:migrate:down VERSION=20123219103503
rake db:migrate
class AddEncryptedPaddwordToUsers < ActiveRecord::Migration
  def change
    add_column :users, :encrypted_password, :string
  end
end
class AddEncryptedPaddwordToUsers < ActiveRecord::Migration
  # def change
  #   add_column :users, :encrypted_password, :string
  # end
end