基于rails的schedule网站开发(8):撤销操作

来源:互联网 发布:淘宝大学商学院杭州 编辑:程序博客网 时间:2024/06/08 19:18

即使再小心,在开发 Rails 应用的过程中也可能会犯错。幸好 Rails 提供了一些工具能够帮助我们还原操作。

举例来说,一个常见的情况是,更改控制器的名字,这时你得删除生成的文件。生成控制器时,除了控制器文件本身之外,Rails 还会生成很多其他文件(参见代码清单 3.4)。撤销生成的文件不仅仅要删除控制器文件,还要删除一些辅助的文件。(在 2.2 节和 2.3 节我们看到,rails generate 命令还会自动修改 routes.rb 文件,因此我们也想自动撤销这些修改。)在 Rails 中,我们可以使用 rails destroy 命令完成撤销操作。一般来说,下面这两个命令是相互抵消的:

$ rails generate controller StaticPages home help$ rails destroy  controller StaticPages home help

第 6 章会使用下面的命令生成模型:

$ rails generate model User name:string email:string

这个操作可以使用下面的命令撤销:

$ rails destroy model User

(在这个例子中,我们可以省略命令行中其余的参数。读到第 6 章时,看看你能否发现为什么可以这么做。)

对模型来说,还涉及到撤销迁移。第 2 章已经简要介绍了迁移,第 6 章开始会深入介绍。迁移通过下面的命令改变数据库的状态:

$ bundle exec rake db:migrate

我们可以使用下面的命令撤销前一个迁移操作:

$ bundle exec rake db:rollback

如果要回到最开始的状态,可以使用:

$ bundle exec rake db:migrate VERSION=0

你可能猜到了,把数字 0 换成其他的数字就会回到相应的版本,这些版本数字是按照迁移执行的顺序排列的。

知道这些技术,我们就可以得心应对开发过程中遇到的各种问题了。

0 0
原创粉丝点击