简体   繁体   English

无法在Rails 5上的ruby中回滚数据库迁移

[英]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

enter image description here 在此处输入图片说明

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM