有没有办法在Rails中“撤销”脚手架命令的效果?
当前回答
要生成脚手架:
rails generate scaffold xyz
恢复脚手架:
rails destroy scaffold xyz
其他回答
首先,如果您已经运行了由scaffold命令生成的迁移,那么您必须首先执行回滚。
rake db:rollback
你可以使用以下方法创建脚手架:
rails generate scaffold MyFoo
(或类似),并且您可以使用
rails destroy scaffold MyFoo
这将删除generate创建的所有文件,但不会删除手动进行的任何其他更改。
提供了另一种基于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
如果您有generate scaffold,您可以第一次检查数据库迁移。 您必须销毁它们以清理数据库
rake db:rollback
then
rails d scaffold
您需要首先执行rake db:rollback(如果有的话)来回滚迁移 然后摧毁断头台
rails d scaffold foo
生成:
rails g scaffold post
rake db:migrate
删除:
rake db:rollback
rails d scaffold post
推荐文章
- 如何在Ruby On Rails中使用NuoDB手动执行SQL命令
- 是否可以在MiniTest中运行单个测试?
- 如何在Ruby中生成a和b之间的随机数?
- ActiveRecord OR查询
- 无法安装gem -未能建立gem本地扩展-无法加载这样的文件——mkmf (LoadError)
- 如何在Ruby中创建文件
- 什么是Ruby文件。开放模式和选项?
- Ruby数组到字符串的转换
- 如何分割(块)一个Ruby数组成X元素的部分?
- Ruby中“or”和||的区别?
- 在Rails中使用user_id:integer vs user:references生成模型
- 如何测试参数是否存在在轨道
- 验证多个列的唯一性
- Rails:在where语句中使用大于/小于
- Rails:如何为Rails activerecord的模型中的属性创建默认值?