Hola, lea toda la documentación incluida aquí en https://laravel.com/docs/5.4/migrations .
¿Hay alguna forma de cómo migrar un determinado archivo de migración (solo 1 migración), porque ahora mismo, cada vez que hay un cambio, uso php artisan migrate:refresh
y todos los campos se restablecen?
laravel
migration
laravel-5.4
Martney Acha
fuente
fuente
debe agregar la ruta a su archivo de migración para actualizar solo esta tabla y ejecutar
fuente
Solo mire la
migrations
tabla en su base de datos, habrá una lista del nombre del archivo de migración y el valor del número de lote.Suponga que tiene la siguiente estructura,
id migration batch 1 2014_10_12_000000_create_users_table 1 2 2014_10_12_100000_create_password_resets_table 1 3 2016_09_07_103432_create_tabel_roles 1
Si solo desea revertir la
2016_09_07_103432_create_tabel_roles
migración, cambie el valor del lote de migración a 2, que es el más alto entre todos, y luego ejecute lo siguiente.Aquí solo se revertirá la tabla con el valor de lote 2. Ahora, realice cambios en esa tabla y ejecute el siguiente comando de consola.
El valor del lote en la
migrations
tabla define el orden de las migraciones. cuando se revierte, las migraciones que son las más recientes o que tienen el valor de lote más alto se revierten primero y luego otras. Por lo tanto, puede cambiar el valor en la base de datos y luego revertir un archivo de migración en particular.Aunque no es una buena idea cambiar el número de lote cada vez debido a la relación entre la estructura de la tabla, podemos usar este caso para algunos casos donde la reversión de una sola tabla no viola la integridad entre las tablas.
Espero que entiendas.
fuente
si usa la pestaña para autocompletar
php artisan migrate --path='./database/migrations/2019_12_31_115457_create_coworking_personal_memberships_table.php'
fuente
Debe colocar los archivos en un nuevo directorio (por ejemplo: seleccionado) y luego aplicar
si necesita deshacer:
Nota:
esto revertirá y luego migrará todos los archivos de migraciones en el directorio predeterminado (/ database / migrations)
fuente
Puedes ejecutar un comando como este
php artisan migrate --path=/database/migrations/2020_04_10_130703_create_test_table.php
fuente
Verás la opción:
Por cierto, probablemente pueda indicar la carpeta raíz del archivo que desea migrar:
O bien, puede crear una nueva carpeta en las migraciones y luego migrar todos los archivos de migración que desee dentro de ella:
fuente
Solo quería publicar otra solución, que creo que vale la pena mencionar.
Migrará solo la mesa que necesita y no tocará nada más
fuente
Solo puede deshacer:
https://laravel.com/docs/5.4/migrations#rolling-back-migrations
Puede especificar cuántas migraciones volver a utilizar con la opción 'paso':
php artisan migrate:rollback --step=1
Algunos trucos están disponibles aquí:
Revertir una migración específica en Laravel
fuente
Elimine la tabla y elimine su registro de la tabla de migración.
Después de eso, simplemente ejecute la migración nuevamente:
fuente
Corrección: elimine la barra antes de la base de datos
fuente
Migración de tablas específicas
fuente
Si desea crear una tabla específica. Puede utilizar este código. Funciona para las versiones de laravel (5.x).
fuente
O simplemente puede eliminar el nombre del archivo de migración de su base de datos, en la tabla "migraciones" y luego ejecutar: php artitsan migration
fuente
Puede intentar usar la opción --path = para definir la subcarpeta específica que desea ejecutar y colocar migraciones específicas allí.
Alternativamente, necesitaría eliminar la referencia y las tablas de la base de datos y las tablas de migraciones, lo cual no es ideal: /
fuente
Si desea crear otra tabla, simplemente cree un nuevo archivo de migración. Funcionará.
Si crea una migración
users_table
con el nombreid, first_name, last_name
. Puede crear un archivo de migración comopublic function up() { Schema::create('users', function (Blueprint $table) { $table->increments('id'); $table->string('first_name',255); $table->string('last_name',255); $table->rememberToken(); $table->timestamps(); }); } public function down() { Schema::dropIfExists('users'); }
Si desea agregar otro archivo como "estado" sin migrar: actualice. Puede crear otro archivo de migración como "add_status_filed_to_users_table"
public function up() { Schema::table('users', function($table) { $table->integer('status'); }); }
Y no olvide agregar la opción de reversión:
public function down() { Schema::table('users', function($table) { $table->dropColumn('status'); }); }
Y cuando ejecuta migrar con
php artitsan migration
, simplemente migra el nuevo archivo de migración.Pero si agrega el "estado" archivado en el primer archivo de migración (users_table) y ejecuta la migración. No es nada para migrar. Necesitas correr
php artisan migrate:refresh
.Espero que esto ayude.
fuente
instalar este paquete
https://github.com/nilpahar/custom-migration/
y ejecute este comando.
fuente
php artisan migrate --path = / database / migrations / fileName.php
Simplemente siga la instrucción ejecute este nombre de archivo commant aquí debe ser el nombre de su tabla de migración Ejemplo: php artisan migrate --path = / database / migrations / 2020_02_21_101937_create_jobs_table.php
fuente
Puedes usar esto.
-> https://packagist.org/packages/sayeed/custom-migrate
-> https://github.com/nilpahar/custom-migration/
esto es muy fácil de usar
fuente
Solo puedes ejecutar este comando en tu terminal
php artisan migrate --path=database/migrations/2020_10_01_164611_create_asset_info_table.php
Después de las migraciones, debe poner el nombre de archivo en particular. o si tiene alguna carpeta dentro de la migración, simplemente agregue ese nombre de carpeta después de la migración.
Me gusta esto
php artisan migrate --path=database/migrations/yourfolder/2020_10_01_164611_create_asset_info_table.php
Espero que esto te ayude un poco. Codificación feliz.
fuente
Primero debes hacer los siguientes comandos:
Paso 1:
Paso 2:
Su tabla volverá a estar en la base de datos.
fuente
php artisan migration:refresh
sirve lo mismo.