Migraciones en Laravel manteniendo registros

uncoderbyte Seguir

Gamma
Verificación en dos pasos desactivada
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
12 Nov 2020
Mensajes
179
Estoy trabajando con un proyecto en Laravel, estoy trabajando con migraciones, y funciona todo perfecto.
Mi consulta puntutal es si hay alguna manera de recrear las migraciones sin perder los datos. Sería algo así como tener todos los registros de la BD en un seeder.

¿Alguna sugerencia para esto?.
 

ZonaLeRoS

Épsilon
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
7 Oct 2013
Mensajes
989
Si los registros son pocos, crear un seed por cada tabla, y meter cada fila ahi :)
 

f3rran

Beta
Verificación en dos pasos desactivada
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
29 Oct 2017
Mensajes
74
Lo que te ha dicho el compañero o directamente hacer una copia de seguridad de la bd e importarla donde la necesites.
 

uncoderbyte

Gamma
Verificación en dos pasos desactivada
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
12 Nov 2020
Mensajes
179

gjarg

Curioso
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
3 Feb 2017
Mensajes
1
Hola, tal vez ya lo has resuelto, pero te paso mi ejemplo.

En el seeder que se llama DatabaseSeeder.php hago lo siguiente, para cargar un dump de sql.

public function run() { // Model::unguard(); Eloquent::unguard(); // $this->call(UserSeeder::class); App\User::create([ 'name' => 'User', 'email' => 'user@mail.local', 'password' => bcrypt('88884444'), ]); //archivo de mi dump.sql en el root de laravel $sql = base_path('bro.sql'); //paso el contenido con DB::unprepared DB::unprepared(file_get_contents($sql)); }

No te olvide de agregar los use de
Eloquent -> use Illuminate\Database\Capsule\Eloquent;
o si es con model
Model -> use Illuminate\Database\Eloquent\Model;

y el facade de DB
DB -> use Illuminate\Support\Facades\DB;


Saludos!
 

Zarat

Delta
Programador
Verificación en dos pasos activada
¡Ha verificado su Paypal!
Desde
28 Mar 2014
Mensajes
588
Tal ves mas fácil que hacer seeds, exportas la data de la tabla, ejecutas migraciones, importas data. De esta forma no necesitarías programar nada.
 

uncoderbyte

Gamma
Verificación en dos pasos desactivada
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
12 Nov 2020
Mensajes
179
Hola, tal vez ya lo has resuelto, pero te paso mi ejemplo.

En el seeder que se llama DatabaseSeeder.php hago lo siguiente, para cargar un dump de sql.

public function run() { // Model::unguard(); Eloquent::unguard(); // $this->call(UserSeeder::class); App\User::create([ 'name' => 'User', 'email' => 'user@mail.local', 'password' => bcrypt('88884444'), ]); //archivo de mi dump.sql en el root de laravel $sql = base_path('bro.sql'); //paso el contenido con DB::unprepared DB::unprepared(file_get_contents($sql)); }

No te olvide de agregar los use de
Eloquent -> use Illuminate\Database\Capsule\Eloquent;
o si es con model
Model -> use Illuminate\Database\Eloquent\Model;

y el facade de DB
DB -> use Illuminate\Support\Facades\DB;


Saludos!
Tal ves mas fácil que hacer seeds, exportas la data de la tabla, ejecutas migraciones, importas data. De esta forma no necesitarías programar nada.
¡Gracias!, ambas respeustas me dieron ideas. :cool:
 

¡Regístrate y comienza a ganar!

Beneficios

  • Gana dinero por participar
  • Gana dinero por recomendarnos
  • Descubre ofertas de empleo diariamente
  • Negocios seguros
  • ¡Información premium y más!

Acceder

¿Ya tienes una cuenta? Accede aquí

Arriba