Cómo agregar un nuevo campo a una tabla existente a través de una migración en Laravel
¡Hola, colegas! Soy nuevo en Laravel (versión 10) y no puedo entender las migraciones. La situación es la siguiente: ya tengo una tabla users lista, que fue creada por la migración estándar al instalar Laravel. Ahora necesito agregarle un nuevo campo phone (tipo string, opcional).
Intenté simplemente editar el archivo de migración existente create_users_table.php y agregar la nueva columna, pero después de ejecutar php artisan migrate no pasa nada — dice "Nothing to migrate". Entendí que no se puede hacer así, porque la migración ya se ejecutó.
Entonces creé una nueva migración a través de Artisan:
php artisan make:migration add_phone_to_users_table
Obtuve el archivo 2024_01_15_123456_add_phone_to_users_table.php. Lo abrí y escribí en el método up():
public function up()
{
Schema::table('users', function (Blueprint $table) {
$table->string('phone')->nullable();
});
}
Luego ejecuté php artisan migrate nuevamente y esta vez funcionó: la columna phone se agregó a la tabla users. ¡El problema está resuelto!