step 1. 首先記得打開 mySQL
step 2. 先修改 .env 檔
資料庫的三個參數
DB_DATABASE=資料庫名稱 DB_USERNAME=使用者名稱 DB_PASSWORD=密碼***.env檔裡面有放資料庫的密碼,所以記得不要git上去哦!
step 3. 修改時區 config\app.php
找到timezone'timezone' => 'UTC',將UTC改成 Asia/Taipei
'timezone' => 'Asia/Taipei',
step 4. 建立Model & migration
> php artisan make:model Entities/Record -m
-m : 建立model,同時建立資料表的migration
執行完這行會產生兩個檔案,分別為:
- app\Entities:Record.php
- database\migrations:2018_07_14_191743_create_records_table.php
- Model 第一個字母大寫,以大駝峰命名
- Table 全部小寫加上s
- Migration 資料庫遷移檔,時間戳 + tablename
step 5. 開啟 migration檔
在up()裡面新增欄位,可以參考官方網站的寫法。
public function up() { Schema::create('records', function (Blueprint $table) { $table->increments('id'); // 增加欄位在這 $table->timestamps(); }); }這裡也支援外來鍵(FK)哦!
不過前提是要先有參照的Table要先蓋好!
這樣才不會錯~~~~
.....
step 6. 建構資料表
第一次建構時:
> php artisan migrate
若有打錯要重新建構可使用:
> php artisan migrate:refresh
step 7. 如果報錯
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
我們要修改 → app\Providers\AppServiceProvider.php
增加兩行code
<?php namespace App\Providers; use Illuminate\Support\ServiceProvider; use Illuminate\Support\Facades\Schema; //1.新增 class AppServiceProvider extends ServiceProvider { /** * Bootstrap any application services. * * @return void */ public function boot() { Schema::defaultStringLength(191); //2.新增 } /** * Register any application services. * * @return void */ public function register() { // } }
然後再使用
> php artisan migrate:refresh
step 8. 完成
可以去資料庫看是否建好Table了哦!!!
留言
張貼留言