--- tags: laravel --- # Database Migration(快速手冊) ![](https://i.imgur.com/y7hiIY6.jpg) ## 建立Migration的指令 php artisan make:migration {action}_{table}_table php artisan make:migration create_items_table ## 常用欄位設定 $table->id(欄位名稱) 自動流水號 $table->boolean(欄位名稱) 布林值 $table->integer(欄位名稱) 整數 $table->string(欄位名稱,長度) 長度為xx的字串 $table->text(欄位名稱) 長字串 $table->date(欄位名稱) 日期 $table->timestamp(欄位名稱) 時間戳記 $table->datetime(欄位名稱) 日期加時間 ## 常用欄位方法 nullable() 欄位可為空值 default($value) 欄位預設值 unique() 唯一欄位 unsigned() 不為負數的欄位 change() 修改欄位而非新增欄位 ## Migration檔案的撰寫範例 ``` class CreateItemsTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('items', function (Blueprint $table) { $table->bigIncrements('id'); //varchar,長度為200 $table->string('title',200); //正整數,預設為0,可為空值 $table->integer('price')->default(0)->nullable()->unsigned(); $table->string('size',50)->nullable(); $table->boolean('enabled')->default(true); $table->string('pic',255)->nullable(); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('items'); } } ``` ## 執行migrate指令 //往前走 php artisan migrate //往後退 php artisan migrate:rollback