database - specific - ¿Alterar la longitud de la columna en el generador de esquema?
seeder laravel (4)
Use `` para el nombre de la columna si el nombre es una palabra clave para el sistema. De lo contrario, obtendrá un "Error de sintaxis o infracción de acceso".
DB::query("alter table MYTABLE modify `MYCOLUMN` varchar(new-length)");
Tengo dos campos que necesito para aumentar el límite de caracteres. He leído toda la documentación y, para mi sorpresa, no encontré ninguna opción. Es posible de hacer? Si no es así, ¿cómo debo solucionar esto?
Podría quitar la columna y volver a crearla con las propiedades correctas, pero no quiero perder ningún dato en la base de datos.
Utilizar consultas en bruto :
/**
* Make changes to the database.
*
* @return void
*/
public function up()
{
DB::query(''ALTER TABLE mytable MODIFY mycolumn VARCHAR(new-length)'');
}
/**
* Revert the changes to the database.
*
* @return void
*/
public function down()
{
DB::query(''ALTER TABL mytable MODIFY mycolumn VARCHAR(old-length)'');
}
Reemplace mytable
, mycolumn
, new-length
y old-length
.
Para Laravel 5+, reemplace DB::query
con DB::statement
.
Para Laravel 4
DB::update(''ALTER TABLE `my_table` MODIFY `my_column` VARCHAR(<new length>)'');
Para Laravel 5:
Schema::table(''users'', function($table)
{
$table->string(''name'', 50)->change();
});
Consulte los docs para obtener más información.