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了哦!!!
留言
張貼留言