Laravel: быстро заполнить таблицы базы данных

Мне нужно быстро заполнить таблицы базы данных. У меня есть 23 таблицы, включая сводные таблицы, исключая password_resets и миграции. Большинство из них принимают участие в отношениях.

Так как есть 23 таблицы для заполнения, написание класса сеялки не быстро. Есть ли что-то, что я могу использовать, чтобы заполнить таблицы на основе типов данных и длины с учетом внешних ключей. Сейчас не имеет значения, если данные не имеют смысла. Например, имя может быть заполнено «lasdkjflk alfsd». Однако это должна быть строка из ‹20 символов, если таблица предназначена именно для этого.


person Sirjan Sharma    schedule 07.08.2016    source источник


Ответы (1)


Попробуйте использовать фабрики моделей, которые предоставляют поддельные данные, взгляните на Laravel 5.2. Фабрики моделей.

Также обратите внимание на фальшивые семена. , например:

class PostsTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
      $faker = Faker::create();
      foreach (range(1,5) as $index) {
        DB::table('posts')->insert([
            'title' => $faker->catchPhrase,
            'content' => $faker->paragraph,
            'created_at' => $faker->dateTime($max = 'now'),
            'updated_at' => $faker->dateTime($max = 'now'),
        ]);
      }
    }
}

Надеюсь это поможет.

person Zakaria Acharki    schedule 07.08.2016
comment
В итоге я использовал фабрику моделей, чтобы заполнить ее поддельными данными. Легко у меня ушло больше часа. Я действительно искал что-то, что заполняло бы бессмысленные данные примерно за минуту или около того, даже будучи новичком вроде меня. Хотя ответ помог. Тогда спасибо - person Sirjan Sharma; 07.08.2016