rails3 数据 migration 之二 - 创建一个migration
来源:互联网 发布:多玩魔兽盒子mac版 编辑:程序博客网 时间:2024/06/07 22:57
2.1 新建一个模型(model)
通过rails里面的脚手架可以创建一个模型。生成模型的同时,
也同时生成了建表的migration。如果你生成model时指定了
字段,migration里面也会生成对应的字段。
例如:
$ rails generate model Product name:string description:text
生成的migration如下
class CreateProducts < ActiveRecord::Migration def change create_table :products do |t| t.string :name t.text :description t.timestamps end endend
你可以追加任何你想加的字段。默认情况下,生成的migration会生成 t.timestamps 字段,
这是Active Record自动生成的updated_at 和created_at字段。
2.2 创建标准的migration
如果想创建另外目的的migration时(例如增加一个字段),你可以使用
migration产生的命令。
$ rails generate migration AddPartNumberToProducts将会产生空的migration
class AddPartNumberToProducts < ActiveRecord::Migration def change endend如果migration名字是 “AddXXXToYYY” 或者 “RemoveXXXFromYYY“并且后面跟着字段的参数和类型。
那么生成的migration里面 add_column和 remove_column 语句将会被创建。
$ rails generate migration AddPartNumberToProducts part_number:string将会产生
class AddPartNumberToProducts < ActiveRecord::Migration def change add_column :products, :part_number, :string endend
类似的
$ rails generate migration RemovePartNumberFromProducts part_number:string将会产生
class RemovePartNumberFromProducts < ActiveRecord::Migration def up remove_column :products, :part_number end def down add_column :products, :part_number, :string endend
当然也可以增加多个字段
$ rails generate migration AddDetailsToProducts part_number:string price:decimal将会产生
class AddDetailsToProducts < ActiveRecord::Migration def change add_column :products, :part_number, :string add_column :products, :price, :decimal endend
注意:如果你做一个表的列的删除之类的话,rails还是使用的旧的migration风格,就是有up 和down方法。 因为rails需要知道原来的列的类型。
- rails3 数据 migration 之二 - 创建一个migration
- rails3 数据 migration 之一 - migration 的解析
- laravel 之数据迁移 migration
- Migration
- Migration
- Migration
- Migration
- laravel(二)migration
- Rails之migration总结
- Laravel 创建 migration 报错
- Laravel- 使用migration 创建数据库
- Entity Framework5中的数据migration
- ThinkPHP5 数据迁移 migration 填坑记
- alembic migration 自动生成migration脚本以及数据初始化
- PMD规则之Migration Rules
- SpringBoot配置属性之Migration
- SpringBoot配置属性之Migration
- laravel学习之Migration基础
- windows安装trac步骤
- Java反射机制 访问类的私有成员
- 摄像测量学简介
- MVC 3 TempData深入研究(跳转Action中没有取TempData的思考)
- 在MSYS下用MingW GCC编译libgmp的一个小问题及解决方法
- rails3 数据 migration 之二 - 创建一个migration
- uboot内核启动过程源码分析
- Applet制作动态按钮(图像、声音的切换)
- 为什么父类指针可以指向子类反之则不行
- 制作ECC证书
- prim算法的简单证明
- 使用jQuery获得选中复选框个数
- poj 1028 stack模拟网页
- POJ 2575 Jolly Jumpers(我的水题之路——数组绝对差值为1到n-1)