在laravel迁移中,使用长度大于255的字符串

fiei3ece  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(390)

我在生产环境中有一个应用程序,需要将字符串列的长度更改为280(默认值为255)。
把它改成串280安全吗?
在本地,使用mysqlworkbench string 列显示为 VARCHAR(255) -我把它编辑成 VARCHAR(280) 从mysqlworkbench开始,在我的本地环境中似乎是这样工作的,但是在生产环境中这样做安全吗,还是应该使用迁移方式(schema builder)如下:

Schema::table('posts', function ($table) {
  $table->string('text', 280)->change();
});

迁移方式也不会删除现有的行,对吗?

pvcm50d1

pvcm50d11#

是的,这只会更改数据类型,因为数据是兼容的,不需要高级迁移。如果从280到255,你需要考虑长度。
否,迁移将更新当前列,因为 ->change() 方法调用。
这需要 mysql 5.0.3或以上,其中 varchar 扩展到保存更多数据。
测试迁移的正常过程是将生产数据库导出到本地环境,然后运行迁移,看看会发生什么。

相关问题