2

データベースには、アプリケーションで参照するためだけに使用されるいくつかのテーブルがあります。

たとえば、State と State Abbreviation の 2 つの列があり、50 の州すべてとその略語が行として含まれるテーブルがあるとします。

State       | State Abbreviation
Alabama     | AL
Alaska      | AK
...

新しいバージョンのアプリケーションを起動したときにこれらのテーブルが存在するようにするため、Laravel でこれらのテーブルのシーダーを作成したいと考えています。

このデータを保存し、これらのシーダーを作成する最良の方法は何ですか?

4

2 に答える 2

3

私は生のSQLを使用します:

class DatabaseSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
     public function seed($table)
    {
        $this->command->info('Seeding '.$table);
        $this->call($table.'TableSeeder');
    }

    public function run()
    {
        DB::unprepared(file_get_contents(database_path('states.sql')));
    }
}

次に、SQLファイルで:

INSERT INTO `states` (`id`, `state`, `abbrev`)
VALUES
    (1,'Alabama', 'AL'),
    (2,'Alaska', 'AK)...;
于 2016-07-05T20:33:18.527 に答える