首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel中无默认值迁移的SQLite错误

Laravel中无默认值迁移的SQLite错误
EN

Stack Overflow用户
提问于 2022-05-01 12:37:14
回答 1查看 62关注 0票数 0

我有一个带有MySQL数据库的Laravel项目,我的迁移工作非常好,但我的问题是,当我将MySQL连接更改为SQLite并运行迁移时,对于没有默认值的字段,会出现一个错误。解决这个问题的办法是什么?我发现这个解决方案很脏,我不得不将这个条件添加到许多迁移中。

代码语言:javascript
复制
$driver = Schema::connection($this->getConnection())
    ->getConnection()->getDriverName();
Schema::table('proposals', function (Blueprint $table) use ($driver) {
    if ($driver === 'sqlite') {
        $table->unsignedBigInteger('final_amount')->default('');
    } else {
        $table->unsignedBigInteger('final_amount');
    }
});

误差

SQLSTATEHY000:一般错误:1不能添加默认值为NULL

的非空列

EN

回答 1

Stack Overflow用户

发布于 2022-05-01 13:30:53

如果要在现有表中添加带有项的新列,请设置有效的默认值或将其设置为可空。

代码语言:javascript
复制
 $driver = Schema::connection($this->getConnection())->getConnection()->getDriverName();
    Schema::table('proposals', function (Blueprint $table) use ($driver){
        if ($driver === 'sqlite'){
            $table->unsignedBigInteger('final_amount')->default(0);
        }else{
            $table->unsignedBigInteger('final_amount')->nullable();
        }
    });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72076780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档