Schema
// 创建指定数据表 Schema::create(‘table’, function($table)
{
KaTeX parse error: Expected 'EOF', got '}' at position 26: …rements('id'); }̲); // 指定一个连接 Sc…table){});
// 通过给定的名称来重命名数据表 Schema::rename($from,
t
o
)
;
/
/
移
除
指
定
数
据
表
S
c
h
e
m
a
:
:
d
r
o
p
(
′
t
a
b
l
e
′
)
;
/
/
当
数
据
表
存
在
时
,
将
指
定
数
据
表
移
除
S
c
h
e
m
a
:
:
d
r
o
p
I
f
E
x
i
s
t
s
(
′
t
a
b
l
e
′
)
;
/
/
判
断
数
据
表
是
否
存
在
S
c
h
e
m
a
:
:
h
a
s
T
a
b
l
e
(
′
t
a
b
l
e
′
)
;
/
/
判
断
数
据
表
是
否
有
该
列
S
c
h
e
m
a
:
:
h
a
s
C
o
l
u
m
n
(
′
t
a
b
l
e
′
,
′
c
o
l
u
m
n
′
)
;
/
/
更
新
一
个
已
存
在
的
数
据
表
S
c
h
e
m
a
:
:
t
a
b
l
e
(
′
t
a
b
l
e
′
,
f
u
n
c
t
i
o
n
(
to); // 移除指定数据表 Schema::drop('table'); // 当数据表存在时, 将指定数据表移除 Schema::dropIfExists('table'); // 判断数据表是否存在 Schema::hasTable('table'); // 判断数据表是否有该列 Schema::hasColumn('table', 'column'); // 更新一个已存在的数据表 Schema::table('table', function(
to);//移除指定数据表Schema::drop(′table′);//当数据表存在时,将指定数据表移除Schema::dropIfExists(′table′);//判断数据表是否存在Schema::hasTable(′table′);//判断数据表是否有该列Schema::hasColumn(′table′,′column′);//更新一个已存在的数据表Schema::table(′table′,function(table){});
// 重命名数据表的列 $table->renameColumn(‘from’, ‘to’);
// 移除指定的数据表列 $table->dropColumn(string|array);
// 指定数据表使用的存储引擎 $table->engine = ‘InnoDB’;
// 字段顺序,只能在 MySQL 中才能用 $table->string(‘name’)->after(‘email’);
索引
$table->string(‘column’)->unique();
$table->primary(‘column’);
// 创建一个双主键 $table->primary(array(‘first’, ‘last’));
$table->unique(‘column’);
$table->unique(‘column’, ‘key_name’);
// 创建一个双唯一性索引 $table->unique(array(‘first’, ‘last’));
$table->unique(array(‘first’, ‘last’), ‘key_name’);
$table->index(‘column’);
$table->index(‘column’, ‘key_name’);
// 创建一个双索引 $table->index(array(‘first’, ‘last’));
$table->index(array(‘first’, ‘last’), ‘key_name’);
$table->dropPrimary(array(‘column’));
$table->dropPrimary(‘table_column_primary’);
$table->dropUnique(array(‘column’));
$table->dropUnique(‘table_column_unique’);
$table->dropIndex(array(‘column’));
$table->dropIndex(‘table_column_index’);
外键
$table->foreign(‘user_id’)->references(‘id’)->on(‘users’);
$table->foreign(‘user_id’)->references(‘id’)->on(‘users’)->onDelete(‘cascade’|‘restrict’|‘set null’|‘no action’);
$table->foreign(‘user_id’)->references(‘id’)->on(‘users’)->onUpdate(‘cascade’|‘restrict’|‘set null’|‘no action’);
$table->dropForeign(array(‘user_id’));
$table->dropForeign(‘posts_user_id_foreign’);
字段类型
// 自增 $table->increments(‘id’);
$table->bigIncrements(‘id’);
// 数字 $table->integer(‘votes’);
$table->tinyInteger(‘votes’);
$table->smallInteger(‘votes’);
$table->mediumInteger(‘votes’);
$table->bigInteger(‘votes’);
$table->float(‘amount’);
$table->double(‘column’, 15, 8);
$table->decimal(‘amount’, 5, 2);
// 字符串和文本 $table->char(‘name’, 4);
$table->string(‘email’);
$table->string(‘name’, 100);
$table->text(‘description’);
$table->mediumText(‘description’);
$table->longText(‘description’);
// 日期和时间 $table->date(‘created_at’);
$table->dateTime(‘created_at’);
$table->time(‘sunrise’);
$table->timestamp(‘added_on’);
// Adds created_at and updated_at columns // 添加 created_at 和 updated_at 行 $table->timestamps();
$table->nullableTimestamps();
// 其它类型 $table->binary(‘data’);
$table->boolean(‘confirmed’);
// 为软删除添加 deleted_at 字段 $table->softDeletes();
$table->enum(‘choices’, array(‘foo’, ‘bar’));
// 添加 remember_token 为 VARCHAR(100) NULL $table->rememberToken();
// 添加整型的 parent_id 和字符串类型的 parent_type
t
a
b
l
e
−
>
m
o
r
p
h
s
(
′
p
a
r
e
n
t
′
)
;
−
>
n
u
l
l
a
b
l
e
(
)
−
>
d
e
f
a
u
l
t
(
table->morphs('parent'); ->nullable() ->default(
table−>morphs(′parent′);−>nullable()−>default(value)
->unsigned()