安装色器件模型用户后,我得到了这一点。
class DeviseCreateUsers < ActiveRecord::Migration
def self.up
create_table(:users) do |t|
t.database_authenticatable :null => false
t.recoverable
t.rememberable
t.trackable
# t.encryptable
# t.confirmable
# t.lockable :lock_strategy => :failed_attempts, :unlock_strategy => :both
# t.token_authenticatable
t.timestamps
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
# add_index :users, :authentication_token, :unique => true
end
def self.down
drop_table :users
end
end
现在,如果我这样做耙分贝:迁移用户表将被创建。
我怎样才能恢复这种迁移,即我怎么能再次使用耙子删除用户表?
运行以下命令
rake db:migrate:down VERSION=<version>
其中<version>
是要恢复迁移文件的版本号。
例如。如果要恢复与文件名3846656238_create_users.rb迁移
耙分贝:迁移:缩小版本= 3846656238
只要运行这个命令:
rake db:rollback
我相信,有可用于恢复移民(他们也重叠)三个选项:
rake db:migrate:down
#导轨2。rake db:rollback STEP=n
$ rake db:migrate:down VERSION=nnn
#导轨3(提供版本号也)。版本号是指SHA(安全散列算法)的承诺这是一个长的十六进制数它看起来像886af3194768917c78e ...你可以做git log
看到它
您可以通过使用rake -T db:
这对于轨道3.2包括查看这些命令(及其他)及其说明:
rake db:migrate # Migrate the database (options: VERSION=x, VERBOSE=false)
rake db:migrate:status # Display status of migrations
rake db:rollback # Rolls the schema back to the previous version (specify steps w/ STEP=n)
你可以做回退,并指定有多少最后迁移将rollbacked,例如
rake db:rollback STEP=3
3个最后迁移。
rake db:migrate:redo
这将撤消并重新应用上次迁移。
作为一个新的程序员(或者其他新的程序员)
rake db:rollback
工作半年左右的时间。我从那里开始。
如果不是,rake db:migrate:down VERSION=3846656238
插上版本要恢复迁移文件的版本号。
对于轨道5我们可以使用rails command instead of rake
rails db:migrate:down VERSION=<version>
例
导轨分贝:迁移:下来VERSION = 20170330090327
在你的终端运行以下命令:
rake db:migrate:status
要么
bundle exec rake db:migrate:status
它显示了状态,迁移的ID,迁移名称,我们以前遇到的所有迁移。选择您的迁移ID(即您的版本号),并将该ID版本后以下命令= ,,,然后按回车
bundle exec rake db:migrate:down VERSION=