iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 7
0
Software Development

30天快速上手Laravel系列 第 7

Day7-[Laravel 的安裝與架設] Migration schema part1

介紹

目前要先跳到這邊介紹是因為當我們一開始在架設環境,處理到資料庫這邊時,如果已存在的架構不大,又有schema的話,可以幫助我們快速在環境中把table的架構設定好。

檔案位置

database/migrations

使用方式

Step1: 下指令產生migration檔案
php artisan make:migration create_product_table --create=product

Step2: 產生migration 檔案,
範例:
2018_10_22_104737_create_product_table.php
說明:下指令的時間+動作+table名稱.php
不建議跳過step1直接手動建立這個檔案,因為它產生的file會帶有時間

Step3: 打開檔案編輯table (細節說明在下一章)

<?php

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

class CreateProductTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('products', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::drop('products');
    }
}

注意事項

如果說已經跑過 php artisan migrate 之後要修改已經create的檔案有兩種方式

範例:
方法1: 下指令php artisan make:migration add_nickname_to_products_table --table=products

方法2: 直接改migration檔案
如果還沒倒資料或是直接更改不會影響現有資料,則可以直接修改檔案,但是要記得migration table 要rollback 或是清掉重來,不然不會更新

指令

php artisan migrate: 執行所有未完成的遷移(是參考migration table裡面的紀錄)

php artisan migrate:rollback: 還原migration 操作

  • --step: rollback 幾步

php artisan migrate:reset: 還原所有遷移

php artisan migrate:refresh: 還原所有遷移,並再執行一次migrate

  • --seed: 帶入seed資料

php artisan migrate:fresh: 刪掉所有資料庫的table(包含migration table),並再執行一次migrate


上一篇
Day6-[Laravel 的安裝與架設] 環境設定
下一篇
Day8-[Laravel 的安裝與架設] Migration schema part2
系列文
30天快速上手Laravel30

尚未有邦友留言

立即登入留言