为啥在使用 Knex.js/Objection 时我的所有数据都默认为 NULL?我根本没有通过 useNullAsDefault

Posted

技术标签:

【中文标题】为啥在使用 Knex.js/Objection 时我的所有数据都默认为 NULL?我根本没有通过 useNullAsDefault【英文标题】:Why is all my data defaulting to NULL, while using Knex.js/Objection? I'm not passing useNullAsDefault at all为什么在使用 Knex.js/Objection 时我的所有数据都默认为 NULL?我根本没有通过 useNullAsDefault 【发布时间】:2019-08-06 20:40:11 【问题描述】:

我没有通过useNullAsDefault,我什至尝试过使用useNullAsDefault: false

const knex = Knex(
    client: 'pg',
    connection: 'postgres://postgres:@localhost:5432/db_development',
);

【问题讨论】:

您的表数据库默认具有哪些实际值? 表中没有默认值,这就是他们默认为空的原因吗?如果 useNullAsDefault 无论如何发生,这不会让 useNullAsDefault 无用吗? 看起来像这样 useNullAsDefault 只影响插入 我认为我的插入已经默认为 Null 【参考方案1】:

useNullAsDefault 仅影响您在一次插入中插入多行并且某些行缺少某些键的情况。

您需要使用默认值设置架构,以防止将 NULL 作为默认值插入。您不必添加该配置参数......提供它只是为了保持多年前创建的旧项目的向后兼容性。

【讨论】:

以上是关于为啥在使用 Knex.js/Objection 时我的所有数据都默认为 NULL?我根本没有通过 useNullAsDefault的主要内容,如果未能解决你的问题,请参考以下文章

为啥在使用 CAGradientLayer 时应用会崩溃

为啥在使用情节提要时反复调用 AwakeFromNib?

为啥在使用自适应查询执行时要使用广播时火花洗牌

为啥在创建部分关系(组合)时使用嵌套类型

MySQL:为啥在使用索引时仍然“使用文件排序”?

AngularJS:为啥在说“服务”时使用“工厂”?