Ruby on Rails迁移时的一些注意事项

把 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
(0)

相关推荐

  • 快速安装Ruby on Rails的简明指南

    对于新入门的开发者,如何安装 Ruby, Ruby Gems 和 Rails 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境. 次安装方法同样适用于产品环境! 系统需求 首先确定操作系统环境,不建议在 Windows 上面搞,所以你需要用: Mac OS X 任意 Linux 发行版本(Ubuntu,CentOS, Redhat, ArchLinux ...) 强烈新手使用 Ubuntu 省掉不必要的麻烦! 以下代码区域,带有 $ 打头的表示需要在控制台(

  • 关于Ruby on Rails路由配置的一些建议

    当你需要加入一个或多个动作至一个 RESTful 资源时(你真的需要吗?),使用 member and collection 路由. # 差 get 'subscriptions/:id/unsubscribe' resources :subscriptions # 好 resources :subscriptions do get 'unsubscribe', on: :member end # 差 get 'photos/search' resources :photos # 好 resou

  • 在Ruby on Rails中使用Markdown的方法

    实现 Markdown 语法和代码语法高亮分别是用的 Redcarpet 和 pygments.rb 两个 Gem: https://github.com/vmg/redcarpet     https://github.com/tmm1/pygments.rb     https://github.com/richleland/pygments-css     http://pygments.org/docs/lexers/ 在/Gemfile中添加如下两行: gem 'redcarpet'

  • Ruby on Rails迁移时的一些注意事项

    把 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_attribu

  • windows下安装ruby与rails时遇到的问题总结

    前言 最近因为工作的需要,准备安装ruby on rails,在网上搜了下,步骤都类似,但实际安装过程中却碰到很多问题. 说明下:文章是按照我尝试的过程描述的.但最终是靠 运行 railsinstaller一键式安装包才成功的(第五段),因此前面的部分大家可以看看,但不用去尝试. 下面来看看详细的介绍吧: 一.首先要安装ruby 因为在windows下安装ruby,都是推荐下载rubyinstaller安装程序. 先进入ruby官网http://www.ruby-lang.org/en/down

  • Ruby on Rails中MVC结构的数据传递解析

    如果读者已经开发过基于 Rails 的应用,但对其 MVC 间的数据传递还有诸多困惑,那么恭喜您,本文正是要总结梳理 Rails 数据传递的方法和技巧.Ruby on Rails 3(以下统称为 Rails 3)是当前的主要发布版本,本文所述及的内容和代码都基于此版本. Rails 3 简介 Ruby on Rails 是一个 Ruby 实现.采用 MVC 模式的开源 Web 应用开发框架,能够提供 Web 应用的全套解决方案.它的"习惯约定优于配置"的设计哲理,使得 Web 开发人员

  • 在Ruby on Rails中优化ActiveRecord的方法

    Ruby on Rails 编程常常会将您宠坏.这一不断发展的框架会让您从其他框架的沉闷乏味中解脱出来.您可以用习以为常的几行代码片断表达自己的意图.而且还可以使用 ActiveRecord. 对于我这样的一个老 Java? 程序员而言,ActiveRecord 多少有点生疏.通过 Java 框架,我通常都会在独立的模型和模式之间构建一种映射.像这样的框架就是映射框架.通过 ActiveRecord,我只定义数据库模式:或者用 SQL 或者用称为迁移(migration)的 Ruby 类.将对象

  • 在Ruby on Rails中使用AJAX的教程

    如果没有听说过 Rails,那么欢迎您外星旅行归来,近几年大概只有那个地方没有听说过 Ruby on Rails 了.Rails 最吸引人的地方是能够很快地建立功能完备的应用程序并运行起来.Rails 为 Ajax 而内置集成的 Prototype.js 库可以轻松快速地创建所谓的富 Internet 应用程序. 本文将逐步引导您创建 Rails 应用程序.然后深入分析如何利用 Ajax 特性编写从服务器上读写数据的 JavaScript 代码. 从容起步 Ajax 之旅--Ajax 技术资源中

  • Ubuntu上配置Ruby on Rails框架及RubyMine IDE开发环境

    准备阶段的碎碎念 在virtualbox安装过程中由于这样那样的原因,产生许多坑. 坑1.关于终端,一定要使用启动器打开 安装完虚拟机,进入系统,我们便会遇到第一个坑,终端软件,建议大家都使用启动器打开终端, 千万不要使用文件管理器,进入文件夹,再右键"在终端中打开",这个时候,环境变量加载不上,尤其在非桌面文件夹进入时.终端加载不上环境变量,大多的软件都没法在终端中执行. 打开终端时,一定要通过启动器,所谓启动器,就是在bantu中放在桌面左侧的侧边栏,很像windows中的快捷方式

  • 在Ruby on Rails中使用Rails Active Resource的教程

    简介 当今的应用程序不仅需要和基于浏览器的客户端互操作,还需要和其他应用程序互操作.为实现互操作性,web 应用程序通常提供一个 web 服务 API.web 服务 API 通过一个网络(比如 Internet)提供对应用程序 的远程访问.直到最近,web 服务 API 还使用重型.复杂的基于 SOAP 的 web 服务集成,这种 web 服务,不仅没有什么优点,而且还需要很长时间才能实现.带有基于 Representational State Transfer (REST) 服务的 Rails

  • 简单对比分析Ruby on Rails 和 Laravel

    在线web应用程序开发目前有许多正流行的框架.  也有许多不同类型的框架,比如那些拥有大量插件,可以让你更加快速的迭代 (比如 Rails),或者还有其它非常简单和低级别的 (比如 Flask). web应用程序开发中两个相对而言更加流行的框架是 Ruby on Rails 和 Laravel.  它们两个都是非常成熟的项目,已经面世相当长一段时间了 .  Ruby on Rails 在2005年12月被引入,而 Laravel 则是2012年2月 . 如上所示的第一次发布的时间, Larave

  • Ruby on Rails基础之新建项目

    Ruby on Rails 目录结构 + app/ #控制器.模型.视图.帮助方法.邮件.静态资源 + bin/ #rails脚本 + config/ #路由.数据库等 + db/ #数据库模式.迁移文件 + lib/ #扩展模块 + log/ #日志 + public/ #公共资源 + test/ #单元测试 - config.ru #Rack服务器的程序设置.用于启动程序 - Gemfile,Gemfile.lock #指定Gem依赖,用于bundler gem - Rakefile #保存

  • 对优化Ruby on Rails性能的一些办法的探究

    1.导致你的 Rails 应用变慢无非以下两个原因: 在不应该将 Ruby and Rails 作为首选的地方使用 Ruby and Rails.(用 Ruby and Rails 做了不擅长做的工作) 过度的消耗内存导致需要利用大量的时间进行垃圾回收. Rails 是个令人愉快的框架,而且 Ruby 也是一个简洁而优雅的语言.但是如果它被滥用,那会相当的影响性能.有很多工作并不适合用 Ruby and Rails,你最好使用其它的工具,比如,数据库在大数据处理上优势明显,R 语言特别适合做统计

随机推荐