una renombrar refrescar migraciones migracion instalar especifico eliminar correr columna cambiar borrar php laravel migration artisan

php - renombrar - Las migraciones de Laravel cambian el valor predeterminado de la columna



refrescar una migracion laravel (3)

Tengo una tabla con un valor predeterminado ya asignado. Para un ejemplo podemos ver lo siguiente:

Schema::create(''users'', function (Blueprint $table) { $table->increments(''id'')->unsigned(); $table->integer(''active'')->default(1); });

Ahora quiero cambiar mi valor predeterminado en el campo activo. Estoy esperando hacer algo como esto:

if (Schema::hasTable(''users'')) { Schema::table(''users'', function (Blueprint $table) { if (Schema::hasColumn(''users'', ''active'')) { $table->integer(''active'')->default(0); } }); }

Pero claro que me dice que la columna ya está ahí. ¿Cómo puedo simplemente actualizar el valor predeterminado de la columna x sin quitar la columna?


Puedes usar el método change() :

Schema::table(''users'', function ($table) { $table->integer(''active'')->default(0)->change(); });

A continuación, ejecute migrate comando migrate .

Actualizar

Para Laravel 4 usa algo como esto:

DB::statement(''ALTER TABLE `users` CHANGE COLUMN `active` `active` INTEGER NOT NULL DEFAULT 0;'');

Método up() lugar de Schema::table(); cláusula.


Tienes que llamar a la change() para actualizar la columna.

if (Schema::hasTable(''users'')) { Schema::table(''users'', function (Blueprint $table) { if (Schema::hasColumn(''users'', ''active'')) { $table->integer(''active'')->default(0)->change(); } }); }


ejecute el siguiente código en CLI

php artisan migration:refresh

cambiará tu esquema de tabla

tus datos se perderán