`

Rails Migration参考

阅读更多

更新到最新版本:
rake db:migrate
重设数据库:
rake db:migrate VERSION=0


字段操作

1、字段类型
:binary, :boolean, :date, :datetime, :float, :integer, :string, :text, :time, :timestamp

2、add_column 添加字段
参数
:null => true or false 是否可为null
:limit => size  字段大小,通常是string字段的长度
:default => value 缺省的值

  1. add_column  :orders :placed_at :datetime :default  =>  Time .now  


3、rename_column 字段名修改
  1. class  RenameEmailColumn < ActiveRecord::Migration   
  2.        def   self .up   
  3.             rename_column  :orders :e_mail :customer_email   
  4.        end   
  5.       def   self .down   
  6.             rename_column  :orders :customer_email :e_mail   
  7.       end   
  8. end   

4、change_column  字段类型属性修改
  1. def   self .up   
  2.        change_column  :orders :order_type :string :null  =>  false   
  3. end   
  4. def   self .down   
  5.        change_column  :orders :order_type :integer   
  6. end   


表操作
  1. class  CreateOrderHistories < ActiveRecord::Migration   
  2.      def   self .up   
  3.         create_table  :order_histories   do   |t |   
  4.               t.column  :order_id :integer :null  =>  false   
  5.               t.column  :created_at :timestamp   
  6.               t.column  :notes :text   
  7.           end   
  8.      end   
  9.      def   self .down   
  10.         drop_table  :order_histories   
  11.      end   
  12. end   


重命名rename_table

索引
  1. class  AddCustomerNameIndexToOrders < ActiveRecord::Migration   
  2.      def   self .up   
  3.          add_index  :orders :name   
  4.      end   
  5.      def   self .down   
  6.          remove_index  :orders :name   
  7.      end   
  8. end   


PK
  1. create_table  :tickets :primary_key  =>  :ticket_number   do   |t |   
  2.     t.column  :created_at :timestamp   
  3.     t.column  :description :text   
  4. end   

raise ActiveRecord::IrreversibleMigration 不可逆错误
  1. class  ChangeOrderTypeToString < ActiveRecord::Migration   
  2.      def   self .up   
  3.         change_column  :orders :order_type :string :null  =>  false   
  4.      end   
  5.      def   self .down   
  6.          raise  ActiveRecord::IrreversibleMigration   
  7.      end   
  8. end   


分享到:
评论

相关推荐

    ruby on rails 2.2.2 参考手册

    本参考手册是学习Rails 2.2.2的重要资源,特别适合初学者和有一定经验的开发者。它提供了详尽的API文档,帮助开发者深入理解Rails框架中的各个组件和方法。以下是一些关键的知识点: 1. **MVC架构**:Rails的核心...

    Rails101_by_rails4.0

    《Rails101_by_rails4.0》是一本专注于Rails 4.0.0版本和Ruby 2.0.0版本的自学教程书籍,它定位于中文读者,旨在成为学习Rails框架的参考教材。Rails(Ruby on Rails)是一个采用Ruby语言编写的开源Web应用框架,它...

    rails 项目起步示例

    Rails是Ruby语言的一个著名Web开发框架,全称为Ruby on Rails,它遵循MVC(Model-View-Controller)架构模式,旨在提高开发效率和代码可读性。...在实际操作中,参考Rails的官方文档和社区资源将是提升技能的好方法。

    Ruby on Rails入门例子

    通过`rails generate migration AddTitleToPosts title:string`创建迁移,然后运行`rails db:migrate`执行迁移。 - **ActiveRecord查询接口(Query Interface)**:ActiveRecord提供了丰富的查询API,如`User.find...

    Rails项目源代码

    Ruby on Rails,通常简称为Rails,是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式。这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何...

    Ruby+for+Rails

    `rails generate migration AddColumnToBooks column:type`会生成一个新的迁移文件,然后通过`rails db:migrate`执行迁移,更新数据库。 7. **路由(Routing)** Rails的路由系统将URL映射到控制器的动作上,定义...

    Rails recipes

    作者们通过分享自己的经验和见解,为Rails程序员提供了一本既有实际操作指导又有理论深入分析的参考书。 Ruby on Rails是一种流行的开源Web应用框架,用Ruby语言编写,遵循MVC架构模式。Rails的目的是让开发过程尽...

    关于rails 3.1 cucumber-rails 1.2.0

    Rails 3.1 和 Cucumber-Rails 1.2.0 是两个在Web开发领域非常重要的工具,尤其对于Ruby on Rails框架的测试和自动化流程。本文将深入探讨这两个组件,以及它们如何协同工作来增强软件开发的效率和质量。 首先,...

    rails2-sample

    从给定的文件信息来看,我们正在探讨的是一本关于Ruby on Rails的书籍,书名为《Simply Rails2》,作者是Patrick Lenz。本书旨在为初学者提供深入理解Ruby on Rails框架的指南,从基础概念到高级主题均有涵盖,是...

    ruby on rails api

    Rails API文档通常包含关于框架的所有核心组件、方法和类的详细信息,是开发者进行Rails开发的重要参考资料。 描述中的“方便查阅”意味着这个CHM文件可能是一个组织良好的Rails API参考手册,便于开发者快速查找和...

    rails指南 中文版

    Rails指南中文版是针对Ruby on Rails框架的一份详尽教程,旨在帮助开发者深入理解并熟练掌握这个强大的Web应用开发工具。Ruby on Rails(简称Rails)是一个基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-...

    rails敏捷开发的购物车系统

    在本文中,我们将深入探讨如何使用Rails敏捷开发技术构建一个购物车系统,特别是在参考《rails敏捷开发第四版》中的示例。Rails 3.2.6是本文的基础框架,它是一个强大的Ruby Web应用程序框架,以其MVC(模型-视图-...

    Rails

    标题 "Rails" 指的是 Ruby on Rails,一个开源的Web应用程序框架,它基于Ruby编程语言,遵循MVC(模型-视图-控制器)架构模式。Rails由David Heinemeier Hansson在2004年创建,其设计理念是强调代码的简洁性、DRY...

    使用Aptana+Rails开发Rails Web应用(中文)

    在开发Web应用时,Ruby on Rails(简称Rails)框架因其高效、简洁的代码风格和强大的社区支持而备受青睐。Aptana是一款强大的集成开发环境(IDE),尤其适用于Rails项目的开发,它提供了丰富的特性来提升开发效率。...

    中文版rails教程

    学习Rails的过程中,除了阅读文档,还可以参考在线教程、视频课程、社区论坛和开源项目,以加深理解和实践。Rails社区活跃,有许多优秀的资源可以帮助初学者快速上手。 总的来说,Ruby on Rails是一个强大的开发...

    rails api(文档)

    在开发过程中,了解和参考Rails API文档将极大地帮助你理解和利用这个强大的框架,以构建健壮、高效的API服务。同时,熟悉相关的Gem和工具,如 grape、rabl 或 jbuilder,可以帮助你进一步定制和扩展你的API功能。

    rails 2.3.2离线安装rails 2.3.2离线安装

    rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails ...

    [Rails] Crafting Rails Applications (英文版)

    [Pragmatic Bookshelf] Crafting Rails Applications Expert Practices for Everyday Rails Development (E-Book) ☆ 图书概要:☆ Rails 3 is a huge step forward. You can now easily extend the framework, ...

    Rails 3 in Action

    《Rails 3 in Action》不仅覆盖了Rails 3.1的核心概念和技术,还涵盖了从开发到部署的全过程,是Rails开发者不可或缺的参考书籍。通过阅读这本书,开发者可以深入理解Rails的工作原理,提升开发技能,并学会构建高效...

Global site tag (gtag.js) - Google Analytics