Используйте файлы Laravel seed и sql для заполнения базы данных

У меня есть несколько .sql файлы стран, государств и городов мира от github. Как я могу запустить их с семенными файлами Laravel, чтобы заполнить эти таблицы в моей базе данных?

2 ответов


  1. добавить DB::unprepared() к методу run DatabaseSeeder.
  2. Run php artisan db:seed в командной строке.

    class DatabaseSeeder extends Seeder {
    
        public function run()
        {
            Eloquent::unguard();
    
            $this->call('UserTableSeeder');
            $this->command->info('User table seeded!');
    
            $path = 'app/developer_docs/countries.sql';
            DB::unprepared(file_get_contents($path));
            $this->command->info('Country table seeded!');
        }
    }
    

Я нашел пакет, который создает начальные файлы из таблиц и строк базы данных. В настоящее время он поддерживает Laravel 4 и 5:

https://github.com/orangehill/iseed

В конце концов, это в основном так просто, как это:

php artisan iseed my_table

или для нескольких случаев:

php artisan iseed my_table,another_table