非默认的数据库数据库迁移

生成迁移

php Artisan 命令 来创建迁移:

1
php artisan make:migration create_users_table

生成的迁移文件将会被放置在 database/migrations 目录中。每个迁移文件的名称都包含了一个时间戳,users为表名。
–table 和 –create 选项可用来指定数据表的名称,或是该迁移被执行时会创建的新数据表。这些选项需在预生成迁移文件时填入指定的数据表:

1
2
3
php artisan make:migration add_votes_to_users_table --table=users

php artisan make:migration create_users_table --create=users

迁移结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateFlightsTable extends Migration
{
/**
* 运行迁移。
*
* @return void
*/
public function up()
{
Schema::create('flights', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('airline');
$table->timestamps();
});
}

/**
* 还原迁移。
*
* @return void
*/
public function down()
{
Schema::drop('flights');
}
}

drop方法为检测是否有这个数据表,如果有则删除。

链接非默认的数据库

使用 connection 方法:

1
2
3
Schema::connection('foo')->create('users', function ($table) {
$table->increments('id');
});

字段类型

详见laravel文档

运行迁移

1
php artisan migrate

线上环境强制运行迁移

1
php artisan migrate --force

还原迁移

1
php artisan migrate:rollback

还原所有迁移:

1
php artisan migrate:reset