我有两个字段需要增加字符限制。我阅读了文档,但惊讶地发现没有相关选项。是否可能实现?如果不行,该如何解决?
我可以删除列并使用正确的属性重新创建它,但我不想在数据库中丢失任何数据。
对于 Laravel 4
DB::update('ALTER TABLE `my_table` MODIFY `my_column` VARCHAR(<new length>)');
使用原始查询:
/**
* 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)');
}
替换mytable
,mycolumn
,new-length
和old-length
。
对于Laravel 5+,请使用DB::statement
替换 DB::query
。
对于 Laravel 5:
Schema::table('users', function($table)
{
$table->string('name', 50)->change();
});
请参考文档获取更多信息。
DB::query("alter table MYTABLE modify `MYCOLUMN` varchar(new-length)");