DB2 与 Ruby on Rails 入门之一
通过迁移回滚更改
最后,我们已经完成了任务。但是,如果现在要撤消所有更改,那么该怎么办呢?这很简单,只需运行 rake db:migrate VERSION=number ,其中 number 表示要回滚到的版本。例如,如果要销毁我们在 XMLDB 数据库中为 Rails Team Room 项目创建的表,并撤消到目前为止做出的所有更改,那么可以发出 rake db:migrate VERSION=0。Rails 按顺序逆转每个迁移步骤,首先回滚最近的迁移,最终将数据库回滚到版本 0。
清单 27. 通过迁移逆转所有更改
| D:\rails\teamroom>rake db:migrate VERSION=0 (in D:/rails/teamroom) == AddXmlDocColumn: reverting ================================================= -- drop_table(:documents) -> 0.0150s -- create_table(:documents) -> 0.1880s == AddXmlDocColumn: reverted (0.2030s) ======================================== == AddEmailToUser: reverting ================================================== -- remove_column(:users, :email) -> 0.1250s == AddEmailToUser: reverted (0.1250s) ========================================= == CreateSubscriptionsTable: reverting ======================================== -- drop_table(:subscriptions) Webjx.Com -> 0.0000s -- remove_column(:subjects, :subscription_id) -> 0.1560s == CreateSubscriptionsTable: reverted (0.1560s) =============================== == CreateSubjectsTable: reverting ============================================= -- drop_table(:subjects) -> 0.0000s -- remove_column(:documents, :subject_id) -> 0.1570s == CreateSubjectsTable: reverted (0.1570s) ==================================== == CreateUsersTable: reverting ================================================ -- drop_table(:users) -> 0.0000s -- remove_column(:documents, :user_id) -> 0.1400s == CreateUsersTable: reverted (0.1400s) ======================================= == AddDocsAttributes: reverting =============================================== -- remove_column(:documents, :created_at) -> 0.1250s -- remove_column(:documents, :updated_at) Webjx.Com -> 0.1870s -- remove_column(:documents, :platform) -> 0.1260s == AddDocsAttributes: reverted (0.4380s) ====================================== == CreateDocsStore: reverting ================================================= -- drop_table(:documents) -> 0.0000s == CreateDocsStore: reverted (0.0000s) ======================================== |
结束语
我们介绍了如何使用 IBM_DB 适配器/驱动程序和 DB2 开始 Rails 应用程序开发。Starter Toolkit for DB2 on Rails 为那些不熟悉 DB2 和 Ruby on Rails 的人提供了最容易的方法,但是对于现有的 DB2 开发人员,IBM_DB 适配器和驱动程序 gem 或插件将提供同样容易的入门点。 网页教学网
我们还详细讨论了 Rails 迁移。管理数据库模式的更改是件乏味的事情。Rails 迁移特性可以帮助应用程序开发人员管理这种模式演变,便于在应用程序代码与数据库对象之间同步更改。通过利用 Rails 迁移和在 Ruby 文件中定义数据库模式更改,可以以逻辑的方式对更改进行版本控制。而且,由于 Rails 的 ActiveRecord 是独立于供应商的,开发人员只需创建一个 Ruby 迁移文件,就可以在多个使用不同 ActiveRecord 适配器的数据库平台上处理相同的更改。
请继续关注 Ruby on Rails 系列的第 2 部分,在第 2 部分中我们将展示如何将 DB2 on Rails 和 XML 支持提高到新的水平,进一步介绍通过 Ruby on Rails 操作 XML。






文章评论
共有 0 位网友发表了评论 查看完整内容