seeds seeder not multiple migraciĆ³n make exist ejecutar does data crear php laravel laravel-4 fixtures seeding

php - multiple - laravel seeder class does not exist



Laravel DB Seeds-Datos de prueba v Datos de muestra (1)

Puede ejecutar un control sobre el entorno actual en su archivo de semilla, y sembrar según sea necesario

<?php class DatabaseSeeder extends Seeder { public function run() { Eloquent::unguard(); if (App::environment() === ''production'') { $this->call(''ProductionSeeder''); } else { $this->call(''StagingSeeder''); } } }

Probablemente estoy malinterpretando exactamente cómo funciona esto, pero ¿cuál es la mejor manera de lograr esto? Tengo algo en mente, pero parece bastante hacky.

Tengo un conjunto de datos de muestra que utilizo para probar mi aplicación. Esto se siembra a través de la sembradora incorporada en Laravel. Esto contiene cosas como usuarios de ejemplo, direcciones, documentos, etc.

También tengo un conjunto de datos predeterminados que deberían ir en producción. Actualmente agrego esto directamente en la migración. Por ejemplo, si estuviera agregando una tabla para account_roles, podría incluir lo siguiente en la parte inferior de la migración

$account_admin = array(''role'' => ''Account Administrator'', ''flag'' => ''ACCOUNT_ADMIN''); $account_owner = array(''role'' => ''Account Administrator'', ''flag'' => ''ACCOUNT_OWNER''); DB::table(''account_roles'')->insert($account_admin); DB::table(''account_roles'')->insert($account_owner);

De esta forma, en la producción, solo migro la base de datos para insertar cualquier valor de base de datos listo para producción, y en la etapa / desarrollo, puedo actualizar las migraciones y luego inicializar la base de datos con datos de muestra.

¿Hay alguna otra (mejor) manera de hacer esto?