我有两个字段需要增加字符限制。我通读了文档,令我惊讶的是,我没有找到它的选择。有可能吗?如果没有,我应该如何解决这个问题?
我可以删除该列并使用正确的属性重新创建它,但我不想丢失数据库中的任何数据。
对于 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::query
为DB::statement
.
对于 Laravel 5:
Schema::table('users', function($table)
{
$table->string('name', 50)->change();
});
检查文档以获取更多信息。
如果名称是系统的关键字,则使用 `` 作为列名。否则,您将收到“语法错误或访问冲突”。
DB::query("alter table MYTABLE modify `MYCOLUMN` varchar(new-length)");