sql >> Base de Datos >  >> RDS >> Mysql

Ejecutar SQL sin formato en la migración

El problema (como dijo @postashin) eran los acentos graves.

A partir de Laravel 5 (no estoy seguro acerca de Laravel 4), podrías haber hecho esto:

DB::statement('ALTER TABLE `users` MODIFY `age` DATETIME');

De hecho, ni siquiera necesitó las garrapatas traseras, ya que no necesitan escapar. Así que podrías haber escrito:

DB::statement('ALTER TABLE users MODIFY age DATETIME');

Tampoco necesita esto en el cierre si solo está ejecutando una declaración de base de datos.

Sin embargo, un mejor enfoque de lo que está haciendo es el siguiente:

Schema::table('users', function(Blueprint $table) {
    $table->dateTime('age')->change();
});

Tenga en cuenta que la última solución a veces puede generar un error debido a un error en Doctrine, que generalmente ocurre si tiene una enumeración en la tabla (no solo la columna que está cambiando).

Para obtener más información, consulte Migración de base de datos de Laravel:modificación de columna