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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM