迁移后创建表并用自己的数据填充它们 - Laravel

时间:2017-01-31 13:25:20

标签: sql laravel

我在数据库中有一些需要特定数据的表。我知道我总是可以保存SQL命令并执行它们但我想知道Laravel是否有某种特定的命令。

2 个答案:

答案 0 :(得分:1)

Laravel使用seeder classes在迁移后用数据填充表格:

您需要创建并注册播种机,然后运行此命令以运行迁移并为数据设定种子:

php artisan migrate --seed

答案 1 :(得分:1)

你可以使用播种机来测试数据,比如@Alexey说。如果您需要在所有环境(例如本地和生产环境)中保留数据,则可以使用查询生成器在创建表后插入数据。

e.g。

<?php

class CreatePostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('posts', function (Blueprint $table) {
            $table->increments('id');
            $table->string('title');
            $table->text('body');
            $table->timestamps();
        });

        DB::table('posts')->insert([
            'title' => 'Hello, world!',
            'body' => 'This post will be created after migrating.',
        ]);
    }