una todas seeder orden migraciones migracion las forzar especifica ejecutar crear cambiar php postgresql migration laravel-5.2

php - todas - ¿Cómo agregar una columna en una tabla usando la migración de laravel 5 sin perder sus datos?



php artisan migrate table (2)

Tengo una tabla de base de datos existente y quiero agregarle una columna. Sin embargo, mientras ejecuto el comando de php artisan migrate , no dice nada para migrar. Pero ya agregué un esquema para agregar columnas de tabla. He leído algunos artículos y enlaces en los que debería ejecutar la php artisan migrate:refresh primero antes de agregar las nuevas columnas. El problema es que borrará mis datos existentes en mi tabla. ¿Hay alguna forma de realizar la migración y agregar columnas en mi tabla con éxito sin eliminar mis datos? Por favor, ayúdame con esto. Muchas gracias. Aquí está mi código de migración.

public function up() { // Schema::create(''purchase_orders'', function(Blueprint $table){ $table->increments(''id''); $table->string(''po_code''); $table->text(''purchase_orders''); $table->float(''freight_charge''); $table->float(''overall_total''); $table->timestamps(); }); Schema::table(''purchase_orders'', function(Blueprint $table){ $table->string(''shipped_via''); $table->string(''terms''); }); } /** * Reverse the migrations. * * @return void */ public function down() { // Schema::drop(''purchase_orders''); }

Quiero agregar la columna shipped_via y los terms en mi tabla purchase_orders .


Laravel tiene una tabla en su base de datos donde realiza un seguimiento de todas las migraciones que ya se ejecutan. Por lo tanto, solo cambiando el archivo de migración, Laravel no ejecutará automáticamente esa migración. Porque la migración ya está ejecutada por Laravel.

Entonces, lo mejor que puede hacer es crear una nueva migración y colocar el fragmento de código que ya tiene (¡estaba en el camino correcto!).

public function up() { // Schema::table(''purchase_orders'', function(Blueprint $table){ $table->string(''shipped_via''); $table->string(''terms''); }); } /** * Reverse the migrations. * * @return void */ public function down() { // }

No es necesario que rellene la función down en caso de que la tabla se vea descartada por la migración de la compra de sus pedidos actuales.

Para migrar la nueva migración simplemente ejecute:

php artisan migrate


Utilice el siguiente comando para modificar la tabla existente

php artisan make:migration add_shipped_via_and_terms_colums_to_purchase_orders_table --table=purchase_orders

use --create para crear la nueva tabla y --table para modificar la tabla existente.

Ahora se creará un nuevo archivo de migración. Dentro de la función up() en este archivo agregue estas líneas

Schema::table(''purchase_orders'', function(Blueprint $table){ $table->string(''shipped_via''); $table->string(''terms''); });

Y luego ejecute php artisan migrate