laravel数据迁移migrate

laravel框架可以快速生成表,并填充表,熟练使用后可以提高我们编码的效率

创建并`填充`article表

为了方便下面的演示,我们新建一个 article 数据表,首先创建对应`迁移`文件:

php artisan make:migration create_article_table --create=article

编写新增的`迁移文件对应迁移类 CreateArticleTable 的 up 方法如下:

```
public function up()
{
Schema::create('article', function (Blueprint $table) {
$table->increments('id');
$table->string('title')->comment('标题');
$table->text('content')->comment('内容');
$table->integer('user_id')->unsigned()->default(0);
$table->integer('views')->unsigned()->default(0)->comment('浏览数');
$table->index('user_id');
$table->timestamps();
});
}
```

运行 php artisan migrate 创建 article 数据表。然后为该数据表创建一个模型类:

php artisan make:model Article

接下来,我们为这个模型类创建一个模型工厂:

php artisan make:factory ArticleFactory --model=Article

编写模型工厂 database/factories/ArticleFactory.php 代码如下:

```
define(\App\Article::class, function (Faker $faker) {
return [
'title' => $faker->title,
'content' => $faker->text,
'user_id' => mt_rand(1, 15),
'views' => $faker->randomDigit
];
});
```
然后为 article 表创建填充类:

php artisan make:seeder ArticleTableSeeder

在 database/seeds 目录下新生成的填充类 ArticleTableSeeder 中,调用模型工厂填充数据表:

```
create();
}
}

```
这样,我们就可以运行如下 Artisan 命令填充 article 数据表了:

```
php artisan db:seed --class=ArticleTableSeeder
```

注意如果用的是laravel8可能编码有区入

详见`https://segmentfault.com/a/1190000037449894?utm_source=tag-newest`

    A+
发布日期:2020年12月19日  所属分类:未分类

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: