bounty将在3天后过期。回答此问题可获得+250声望奖励。Richard Parnaby-King希望引起更多人关注此问题。
我尝试在一个遗留的Laravel项目中设置一些单元测试。这个项目有很多创建和更新数据库的迁移脚本。这个迁移在MySQL数据库上运行良好,但是我不想持久化测试数据库,所以我使用标准的Sqlite数据库的.env.测试配置:
其中一个迁移文件包含以下内容:
public function up()
{
Schema::table('product_variants', function (Blueprint $table) {
$table->dropColumn(['sku']);
});
}
虽然此迁移在MySQL中工作,但当我尝试在测试模式下(即在Sqlite中)运行迁移时,我收到以下消息:
阅读Laravel文档时,不支持从Sqlite连接中删除多个列,因此我将数组参数转换为字符串(['sku']
转换为'sku'
),但这没有改变任何内容。
如何让迁移在Sqlite中工作?
1条答案
按热度按时间mi7gmzs61#
laravel文件中有一个警告:
使用SQLite数据库时,不支援在单一移转中卸除或修改多个数据行。
因此,请尝试拆分迁移。
我知道这是一个坏主意,但这可能是你目前问题的一个可能的解决方案。希望,它对你有效。