有没有办法在Rails中“撤销”脚手架命令的效果?


当前回答

生成:

rails g scaffold post
rake db:migrate

删除:

rake db:rollback
rails d scaffold post

其他回答

首先,如果您已经运行了由scaffold命令生成的迁移,那么您必须首先执行回滚。

rake db:rollback

你可以使用以下方法创建脚手架:

rails generate scaffold MyFoo 

(或类似),并且您可以使用

rails destroy scaffold MyFoo

这将删除generate创建的所有文件,但不会删除手动进行的任何其他更改。

如果您只想查看生成器将创建的文件,您可以传递generator -pretend或-p选项。

如果您有generate scaffold,您可以第一次检查数据库迁移。 您必须销毁它们以清理数据库

rake db:rollback

then

rails d scaffold

首先,您必须执行rake db:rollback来销毁表 如果您已经运行了rake db:migrate,那么您就可以运行了

导轨d脚手架

你也需要在摧毁脚手架后回滚迁移

rails destroy scaffold 'scaffoldname'
rake db:rollback