批量创建同类型的变量和索引

2018-04-03  本文已影响5人  稻草人_b788

一、批量创建同类型的变量

def change
 create_table :users do |t|
        t.string :name, :sex
        t.integer :age
        end
end

上述迁移文件中,我们可以将string类型的name和sex用一行代码来创建
它的写法等价于:

def change
 create_table :users do |t|
        t.string :name
        t.string :sex
        t.integer :age
        end
end

二.批量添加索引

如果在创建表的同时,为单个栏位添加索引我们可以写成:

def change
 create_table :users do |t|
        t.string :name, :sex
        t.integer :age
        end
        add_index :users, :name
end

def change
 create_table :users do |t|
        t.string :name, :sex
        t.integer :age
        end
add_index :users, [:name]
end

如果为多个栏位添加索引,可以写成:

def change
 create_table :users do |t|
        t.string :name, :sex
        t.integer :age
        end
add_index :users, [:name,:age]
end

def change
 create_table :users do |t|
        t.string :name, :sex
        t.integer :age
        end
add_index :users, :name
add_index :users, :age
end

注意:
以上建立索引的方式是在创建表的时候同时创建索引
如果是创建表之后,新增栏位,并为新增的栏位添加索引要写成:
(1)创建单个索引:

def change
add_index :users, :name
end

def change
add_index :users, [:name]
end

(2)创建多个索引

def change
add_index :users, :name
add_index :users, :sex
end

def change
add_index :users, [:name,:sex]
end

三.为栏位内容添加说明

create_table :users, comment: '用户表' do |t|
        t.string :name, comment: '姓名'
        t.string :sex, comment: '性别'
        t.integer :age, comment: '年龄'
        end

上一篇 下一篇

猜你喜欢

热点阅读