Laravel 06 使用migration创建数据表

数据库迁移 migration

  • 拿 posts表为例


    Laravel 06 使用migration创建数据表_第1张图片
    image.png
  • 表名 posts

  • 外键 user_id (lavarel命名建议:users表中对应id,在别的表中引用:user+下划线 +id)

  • 时间 created_at/updated_at

新建posts表

* 生成脚本
//生成migration脚本
php artisan make:migration create_posts_table
  • migrations 文件夹中 create_posts_table.php代码:
 public function up()
    {
        Schema::create('posts', function (Blueprint $table) {
            //自增id
            $table->increments('id');
            //对应varchar类型
            $table->string('title',100)->default("");
            $table->text('content');
            $table->integer('user_id')->default(0);
            //timestamps函数会自动加入 created_at 和 updated_at字段
            $table->timestamps();
        });
    }

    public function down()
    {
        Schema::dropIfExists('posts');
    }

 * 运行migration脚本
php artisan migrate
Laravel 06 使用migration创建数据表_第2张图片
image.png

由于lavarel默认生成的create_users_table.phpcreate_password_resets_table.phpstring没有设置长度,所以还需要在app/Providers/AppServiceProvider.php中作如下修改

use Illuminate\Support\Facades\Schema;
...
    public function boot()
    {
        //设置默认sting长度  mb4string 1000/4 = 250
        Schema::defaultStringLength(250);
    }
...

你可能感兴趣的:(Laravel 06 使用migration创建数据表)