laravel数据迁移migrate

发布时间:2020-12-19 00:54:15 阅读:1196次

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 代码如下:

<?php use Faker\Generator as Faker;
$factory->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 中,调用模型工厂填充数据表:

<?php use Illuminate\Database\Seeder;
class ArticleTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        factory(\App\Article::class, 30)->create();
    }
}

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

php artisan db:seed --class=ArticleTableSeeder

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

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

如有问题,可以QQ搜索群1028468525加入群聊,欢迎一起研究技术

支付宝 微信

有疑问联系站长,请联系QQ:QQ咨询

转载请注明:laravel数据迁移migrate 出自老鄢博客 | 欢迎分享