Kus*_*ush 18 ruby rake ruby-on-rails devise
我刚刚安装了设备,所以除了一个用户(我)之外,表上没有任何数据.
我再次重新做数据库所以我放弃了所有.我做rails g scaffold
了6个新的模型和控制器,并做了rake db:migrate
在我的/db/migrate
目录中,我有一个带文件名的devise文件20130603211907_devise_create_users.rb
问题出在这里:如果我这样做rake db:migrate:down VERSION=20130603211907
,将删除所有新的迁移.
如何在不删除所有较新的迁移的情况下再次运行迁移?
Sac*_*n R 57
rake db:migrate:redo VERSION=xxxxxxx
它将运行向下然后向上运行.您可以结合暂时注释掉向下步骤来执行此操作.
如果在本地发展,它不会伤害到从模型中删除所有数据,你可以简单地drop
你的数据库,然后create
与migrate
从头开始:
感谢大家的帮助.这对我有用:
警告:这些命令将删除数据库中的所有数据!
rake db:drop
rake db:create
rake db:migrate
Run Code Online (Sandbox Code Playgroud)
您可以致电rake db:migrate:redo VERSION=20130603211907
来重新运行指定的版本。
另外,如果您的迁移仅在迁移链向上时才运行(例如,数据转换,复制等),则可以指定一个
def up
do_something
end
Run Code Online (Sandbox Code Playgroud)
和def down(下降),def改变(双向)方法。
例如,要暂时禁用迁移,只需将方法重命名def up
为def up_
,在处理迁移链时它将被忽略。
rake db:migrate:up VERSION=20090408054532
Run Code Online (Sandbox Code Playgroud)
这会将所有文件迁移到VERSION = 20090408054532
签出运行单个迁移文件
归档时间: |
|
查看次数: |
28111 次 |
最近记录: |