ruby迁移任务基础

1 运行迁移任务

       Rake db:migrate

       数据库中 schema_info 表记录 version 的当前版本信息如: 20081230025725

2 字段类型

通过迁移任务可以把任务中的程序数据类型转换成数据库相对应的类型

类型包括: binary boolean date datetime decimal float integer string text time timeestamp

增加字段: add_column:orders( 表名 ) , :e_mail( 字段名 )

:string( 字段类型 ) :null=>false, :limit=>100, :default=>’priority’

              Null 字段:值为 false not null

              Limit 字段:设置字段大小限制

              Default 字段:设置字段的默认值

3 字段改名

rename_column :orders( 表名 ) , :e_mail( 被改字段名 ) :customer_email( 修改名字字段 )

4 修改字段

Change_column :orders( 表名 ) :order_type( 字段名 ) :string( 最终类型 ) :null=>

5 表的管理

1 表的创建

create_table :order_histories do |t|

t.integer :order_id, :null => false

t.text :notes

t.timestamps            注:两个颜色部分的内容必不可少

2 表的重命名

   rename_table :order_histories( 被修改的表名 ) , :order_notes( 要修改的表名 )

   为保证迁移任务能够运行,保证如果在建表时还没有表对应的类,应

在迁移任务中首先定义一个类来站位,以保证迁移任务不会出错。

6 定义索引

Add_index :orders( 表名 ) , :name( 索引所放位置 移除: remove_index ……..

若加入参数 :unique=>true 表示被索引字段值必须唯一

注:移除索引时也必须加入字段名

7 主键

改变主键名称:在建立表的时候改变

    create_table :tickets, :primary_key=>number do |t|

        其他属性不变,不需加入新改变的主键属性

End

没有主键的表:

    create_table :authors_books :id=>false do |t|

                 ……

8 在迁移任务中加载数据

模型 .create(: 属性 => 值,属性 => )   注: create 相当于模型 .new().save

9 从夹具中转载数据(略)

首先创建夹具文件:在 migration 下建立文件夹,在文件夹中建立数据文件 .yml

Yml 数据的格式为:

             ……

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值