Ruby on rails rakedb:migrate给出了一个错误
我刚刚尝试迁移,但我的控制台返回此 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(…)设计创建用户.rbRuby 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默认值“”不是 空的 我知道我不小心创建了两次表,并且不得不在迁移文件中进行更改?如果是,我在哪里可以找到它? 对我来说,删除整个数据库也是一个很好的解决方案 我只是想知道怎么做。到目前为止,我找到的所有解决方案都不适合我 更新: 当我这
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:ininitialize'
/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:inprepare'
/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:inblock 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:ininstrument'
/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:inexecute'
/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:inadd\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:inblock 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:instring'
/用户/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:inchange\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:inmethod\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