weixin_42310078 2009-05-21 14:49
浏览 224
已采纳

Rails中迁移任务的回滚

在rails中我认为迁移任务就是用rails来对数据库进行操作,可是我现在对迁移任务的回滚还是不太熟练,希望大家能给提点建议或经验~~~

  • 写回答

2条回答 默认 最新

  • horace_lee 2009-05-21 19:13
    关注

    虽然,不是确切的知道你想要的是什么,我就猜测的给你一些,我认为相关的我有用的东西吧。

    [size=large]首先[/size],你提到迁移和数据库回滚

    那么,我认为你是
    [code="ruby"]rake db:migrate version=3#可选[RAILS_ENV=development]表示什么环境用的库,version是到多少版本,也是可选[/code]
    希望了解这个的用法原理之类吗?

    那么,先说这个 :D

    rails创建数据库会自动生成一个schema_info的表在你的rails对应的数据库了,这个表只有一个字段version。标识你的数据库到什么version了。

    这个库schema_info和两个部分相关,一个你的应用程序根目录下的db/schema.rb文件,一个是db/migrate文件的序号

    当然,你也可以通过
    [code="ruby"]rake script/about
    Database schema version 83#看到版本信息[/code]

    这就大体说明了,回滚怎么用和原理吧

    [size=large]其次[/size],关于rake db还有一些其他的用法,可能对你也有用

    [code="java"]FIXTURES=config_params RAILS_ENV=production /usr/bin/rake db:YAML:restore #通常用来记载数据到数据库
    rake db:structure:dump # 导出数据库结构为一个SQL文件

    rake db:test:clone #重新创建一个测试数据库从当前环境数据库中

    rake db:test:clone_structure #重新创建测试数据库从开发模式数据库

    [/code]

    [size=large]再其次[/size],一些自己关于自己用。
    通常我们RoR开发的时候,数据库建立都是些migrate文件,然后,提交到版本控制,别人更新和保持数据库的时候,比较容易。只要rake db:migrate就到最新了。需要加载数据库就是fixture。 其实,也没什么体会吧,就一般都这么用。

    [size=large]最后[/size],这还有一篇我的关于数据库操作的说明,或者,也有帮助参考吧

    [url=http://hlee.iteye.com/admin/blogs/380928]rake 对数据库操作深度示例说明[/url]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
  • ¥100 H5网页如何调用微信扫一扫功能?
  • ¥15 讲解电路图,付费求解
  • ¥15 有偿请教计算电磁学的问题涉及到空间中时域UTD和FDTD算法结合的
  • ¥15 three.js添加后处理以后模型锯齿化严重
  • ¥15 vite打包后,页面出现h.createElement is not a function,但本地运行正常