[英]can't rollback database migration in ruby on rails 5
enter image description here i have two migration! 在这里输入图片说明,我有两次迁移! first one creates table the second one modifies it!
第一个创建表,第二个创建表! but when i try to roll it back it does not work!!
但是当我尝试将其回滚时,它不起作用! I've tried to run db:drop, create, migrate, db:reset it migrates everything up but rollback still don't work
我尝试运行db:drop,创建,迁移,db:reset,它将所有内容向上迁移,但回滚仍然不起作用
1st migration: 第一次迁移:
class CreateUsers < ActiveRecord::Migration[5.0]
def up
create_table :users do |t|
t.string "first_name", :limit => 25
t.string "last_name", :limit => 50
t.string "email", :default => '', :null => false
t.string "password", :limit => 40
t.timestamps
end
end
def down
drop_table :users
end
end
2nd migration:
class AlterUsers < ActiveRecord::Migration[5.0]
def up
rename_table("users", "admin_users")
add_column('admin_users', 'username', :string, :limit => 25,
:after => 'email')
change_column('admin_users', 'email', :string, :limit => 100 )
rename_column('admin_users', 'password', 'hashed_password' )
add_index("admin_users", "username")
end
def down
remove_index('admin_users', 'username')
rename_column('admin_users', 'hashed_password', 'password')
change_column('admin_users', 'email', :string, :default => '',
:null => false)
remove_column('admin_users', 'username')
rename_column('admin_users', 'users')
end
end
The down shouldn't be 倒不应该
rename_column('admin_users', 'users')
it should be 它应该是
rename_table('admin_users', 'users')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.