RubyonRails迁移时的一些注意事项

首页 > 脚本专栏 > ruby专题 更新日期: 2016-01-02
这篇文章主要介绍了Ruby on Rails迁移时的一些注意事项,包括建议的使用change方法取代up与down方法等细节,需要的朋友可以参考下


    把 schema.rb 保存在版本管控之下。
    使用 rake db:scheme:load 取代 rake db:migrate 来初始化空的数据库。
    使用 rake db:test:prepare 来更新测试数据库的 schema。

    避免在表里设置缺省数据。使用模型层来取代。

  def amount
   self[:amount] or 0
  end

    然而 self[:attr_name] 的使用被视为相当常见的,你也可以考虑使用更罗嗦的(争议地可读性更高的) read_attribute 来取代:

def amount
   read_attribute(:amount) or 0
  end

    当编写建设性的迁移时(加入表或栏位),使用 Rails 3.1 的新方式来迁移 - 使用 change 方法取代 up 与 down 方法。

 # 过去的方式
  class AddNameToPerson < ActiveRecord::Migration
   def up
    add_column :persons, :name, :string
   end

   def down
    remove_column :person, :name
   end
  end

  # 新的偏好方式
  class AddNameToPerson < ActiveRecord::Migration
   def change
    add_column :persons, :name, :string
   end
  end


> 本站内容系网友提交或本网编辑转载,其目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时与本网联系,我们将在第一时间删除内容!

相关文章
  • 使用vue.js开发时一些注意事项
    使用vue.js进行项目的开发已经有了一定的时间,在任务的过程中以及和不同的开发使用者交流中,逐渐对vue.js的使用心得有了一定的积累.本文主要给大家分享一些开发时需要注意的事项关于响应式 vue的双向绑定是基于响应式来做的,即给一个Vue对象的属性加上getter, setter方法,在这些方法中处理双向绑定.但这种方式就会出现下面这些坑 对象响应式 V ...
  • js使用eval解析json实例与注意事项分享
    eval函数在js中有不少用处了,下面我来给各位朋友介绍eval解析json的实例,基于这个实例我们引出来在eval处理json数据时的一些注意事项,希望文章对各位同学会有所帮助JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧. JSON 是 JavaScript 原生格式,这意味着在 JavaScript ...
  • Angular发布1.5正式版,专注于向Angular2的过渡
    Angular团队最近发布了Angular 1.5的正式版,该版本实现了一次重大的升级,它让仍在使用1.X版本的开发者将能够更容易地过渡到Angular 2的开发Angular团队最近发布了Angular 1.5的正式版,该版本实现了一次重大的升级,它让仍在使用1.X版本的开发者将能够更容易地过渡到Angular 2的开发. Pete Bacon Darwi ...
  • ASP连接数据库的全能代码
    ASP连接数据库的全能代码      '解决了ACCESS数据库路径的问题! '采用DBType=0或DBType=1来区分AC库还是MSSQL库 '具体采用AC库时应注意的事项,请看程序说明 -------------------------------------------------------------------------------- Di ...
  • C#通过接口与线程通信(捕获线程状态)示例代码
    C#通过接口与线程通信(捕获线程状态)示例代码
    本文介绍C#通过接口与线程通信捕获线程状态,并提供简单的示例代码供参考提示:本文所提到的线程状态变化,并不是指线程启动.暂停.停止,而是说线程内部状态的迁移.随着软件技术不断发展,用户需求不断提升,多线程的重要性日益凸显. 关于线程,通俗的讲,每当启动一个exe应用程序,都会创建一个进程和一个主线程,主线程用来处理界面绘制.界面事件响应等工作,而进程则是线程 ...
猜你喜欢