從零開始系列-Laravel編寫api服務介面:4.Migration 和 Seed

lixueyuan發表於2021-05-12

簡介

自動遷移是如今比較常用的功能,下面就用自動遷移部署本專案的所有表並用 seeder 初始化一些資料
直接貼程式碼

php artisan make:migration create_admins_table;
Schema::create('admins', function (Blueprint $table) {
    $table->id();
    $table->string('name')->comment('姓名');
    $table->string('account')->comment('登入賬號');
    $table->string('password')->comment('登入密碼');
    $table->timestamps();
});
\Illuminate\Support\Facades\DB::statement('ALTER table `admins` comment "管理員表"');
php artisan make:migration create_articles_table
Schema::create('articles', function (Blueprint $table) {
    $table->id();
    $table->integer('user_id')->comment('哪個使用者新增的');
    $table->integer('admin_id')->comment('哪個使用者稽核的');
    $table->string('title')->comment('文章標題');
    $table->text('content')->comment('文章內容');
    $table->tinyInteger('status')->default(0)->comment('0未稽核1已稽核');
    $table->timestamps();
});
\Illuminate\Support\Facades\DB::statement('ALTER table `articles` comment "文章表"');

執行php artisan migrate 命令

php artisan make:factory AdminFactory
public function definition()
{
    return [
        'name' => $this->faker->name,
        'account' => $this->faker->unique()->numberBetween(20000,50000),
        'password' => bcrypt('123456'), // password
    ];
}
php artisan make:model Admin
# 在DatabaseSeeder.php里加入:
\App\Models\Admin::factory(10)->create();
執行seed
php artisan db:seed
本作品採用《CC 協議》,轉載必須註明作者和本文連結
程式設計兩年半,喜歡ctrl(唱、跳、rap、籃球)

相關文章