有没有办法在Rails中“撤销”脚手架命令的效果?
当前回答
首先,如果您已经运行了由scaffold命令生成的迁移,那么您必须首先执行回滚。
rake db:rollback
你可以使用以下方法创建脚手架:
rails generate scaffold MyFoo
(或类似),并且您可以使用
rails destroy scaffold MyFoo
这将删除generate创建的所有文件,但不会删除手动进行的任何其他更改。
其他回答
首先,您必须执行rake db:rollback来销毁表 如果您已经运行了rake db:migrate,那么您就可以运行了
导轨d脚手架
用于在轨道中生成脚手架
rails generate scaffold MODEL_GOES_HERE
用于在轨道上撤消脚手架-
rails destroy scaffold MODEL_GOES_HERE
要生成脚手架:
rails generate scaffold abc
恢复脚手架:
rails destroy scaffold abc
如果您已经为它运行了迁移,只需回滚即可
rake db:rollback STEP=1
你也需要在摧毁脚手架后回滚迁移
rails destroy scaffold 'scaffoldname'
rake db:rollback
案例1:如果您只运行这个命令来生成脚手架-
rails generate scaffold MODEL_NAME FIELD_NAME:DATATYPE
Ex - rails generate scaffold User name:string address:text
但到目前为止,您还没有运行任何命令进行迁移
rake db:migrate
那么您应该只需要运行这个命令,比如-
rails destroy scaffold User name:string address:text
情况2:如果您已经通过以下命令运行(脚手架和迁移),例如-
rails generate scaffold User name:string address:text
rake db:migrate
然后你应该首先运行回滚迁移命令,然后像下面那样破坏脚手架
rake db:rollback
rails destroy scaffold User name:string address:text
以这种方式,我们可以撤销脚手架。我们也可以用d表示销毁,用g表示生成。