laravel框架的数据迁移 (摘取)

生成迁移

使用 Artisan make:migration 来创建迁移:

php artisan make:migration create_users_table

 

新的迁移文件会被放置在 database/migrations 目录中。每个迁移文件的名称都包含了一个时间戳,以便让 Laravel 确认迁移的顺序。

--table 和 --create 选项可用来指定数据表的名称,或是该迁移被执行时是否将创建的新数据表。这些选项需在预生成迁移文件时填入指定的数据表:

  

php artisan make:migration create_users_table --create=users
 
php artisan make:migration add_votes_to_users_table --table=users

 

如果你想为生成的迁移指定一个自定义输出路径,则可以在运行 make:migration 命令时添加 --path 选项。给定的路径必须是相对于应用程序的基本路径。

迁移结构

迁移类通常会包含两个方法:up 和 downup 方法可为数据库添加新的数据表、字段或索引,而 down方法则是 up 方法的逆操作。

你可以在这两个方法中使用 Laravel 数据库结构生成器来创建以及修改数据表。若要了解 Schema 生成器中的所有可用方法,可查询文档。以下的迁移实例会创建一张 flights 数据表:

  

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
33
php
 
use Illuminate\Support\Facades\Schema;
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');
    }
}

 

运行迁移

使用 Artisan 命令 migrate 来运行所有未完成的迁移:

php artisan migrate

在生产环境强制执行迁移

一些迁移操作是具有破坏性的,这意味着可能会导致数据丢失。为了防止有人在生产环境中运行这些命令,系统会在这些命令被运行之前与你进行确认。如果要强制忽略系统的提示运行命令,则可以使用 --force 标记:

php artisan migrate --force

你可能感兴趣的:(laravel框架的数据迁移 (摘取))