一、批量创建同类型的变量
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