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


当前回答

你可以撤销你所做的一切

rails generate xxx

By

rails destroy xxx

例如,它将生成器应用于迁移、脚手架、模型等

其他回答

你可以撤销你所做的一切

rails generate xxx

By

rails destroy xxx

例如,它将生成器应用于迁移、脚手架、模型等

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

rake db:rollback

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

rails generate scaffold MyFoo 

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

rails destroy scaffold MyFoo

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

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

rake db:rollback

then

rails d scaffold

提供了另一种基于git的解决方案

开始一个新项目

rails new project_name
cd project_name

初始化git

git init
git commit -m "initial commit"

创建一个脚手架

rails g scaffold MyScaffold
rake db:migrate

回滚脚手架

rake db:rollback
git reset --hard
git clean -f -d

是的,刑台本身和它上面的所有东西。

destroy命令与generate相反,它将撤销一个命令。只需要像generate一样传递它的名字,它就会从你的项目中删除:

rails generate scaffold posts title:string content:text
rails destroy scaffold posts title:string content:text