我在生产环境中有一个应用程序,需要将字符串列的长度更改为280(默认值为255)。
把它改成串280安全吗?
在本地,使用mysqlworkbench string
列显示为 VARCHAR(255)
-我把它编辑成 VARCHAR(280)
从mysqlworkbench开始,在我的本地环境中似乎是这样工作的,但是在生产环境中这样做安全吗,还是应该使用迁移方式(schema builder)如下:
Schema::table('posts', function ($table) {
$table->string('text', 280)->change();
});
迁移方式也不会删除现有的行,对吗?
1条答案
按热度按时间pvcm50d11#
是的,这只会更改数据类型,因为数据是兼容的,不需要高级迁移。如果从280到255,你需要考虑长度。
否,迁移将更新当前列,因为
->change()
方法调用。这需要
mysql
5.0.3或以上,其中varchar
扩展到保存更多数据。测试迁移的正常过程是将生产数据库导出到本地环境,然后运行迁移,看看会发生什么。