很多时候,我们想要撤销之前的动作,比如创建了一个controller但是命名或者其他方面,有问题,想要更改,但是只是删除文件的话,因为关联的地方太多,所以很多时候,不能只是单纯地删除;另外,像rake db:migrate这样,迁移了数据库,但是发现了其他问题,想撤销之前的迁移命令,怎么办?
这篇文章就是解决这两种撤销操作,更多撤销操作,作者还没碰到,待以后再续。
1.撤销rails g:
比如,刚创建了一个model,名为user,想撤销。运行:rails g destroy model user
这样刚刚创建的user model就被撤销了。
再比如,创建了一个脚手架 post,想撤销。运行 rails g destroy scafflod user。
这样,刚刚创建的user的脚手架就会被撤销。
2.撤销数据库迁移
比如,我们刚迁移了一个数据库 rake db:migrate,想要撤销之前的迁移,运行 rake db:rollback
回滚刚才的操作就会撤销上一次的迁移命令
如果我们想要撤销整个数据库的迁移呢?我们需要回到最初的状态:
rake db:migrate VERSION=0
这样就将数据库重置,重新迁移即可。