laravel migrate-column type string不更新大小

deyfvvtc  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(294)

我创建了一个迁移来更新mysql中varchar列的大小,并在同一个迁移中重命名它。因此,要通过laravel模式更改varchar()类型,我们使用基于laravel文档的string()
这是函数up():

Schema::table('address', function (Blueprint $table) {
    $table->string('place_id', 100)->change();
    $table->renameColumn('place_id', 'full_address');
});

函数down():

Schema::table('address', function (Blueprint $table) {
    $table->string('full_address', 255)->change();
    $table->renameColumn('full_address', 'place_id');
});

它正在重命名列,但它没有改变大小,你知道为什么吗?。
mysql表

Field, table, Type, Character Set, Display Size
place_id,address,VARCHAR,utf8,255

先谢谢你。

gmxoilav

gmxoilav1#

我找到了一个解决方案,我不确定它是否是最好的,但最好使用多个模式。

Schema::table('address', function (Blueprint $table) {
  $table->string('place_id', 100)->change();
});

Schema::table('address', function (Blueprint $table) {
  $table->renameColumn('place_id', 'full_address');
});

相关问题