Drizzle | 用外键为部分暴露的表进行数据填充
This guide assumes familiarity with:
示例 1
假设您尝试使用以下所示的填充脚本和模式来填充数据库。
如果 bloodPressure
表在 userId
列上有非空约束,那么运行填充脚本将导致错误。
这意味着什么?
这意味着我们不能在 userId
列中填充 Null 值,因为该列有非空约束。
此外,您没有将 users
表暴露给 seed
函数的模式,因此我们无法生成 users.id
来填充 userId
列。
此时,您有几种选择来解决错误:
- 您可以删除
userId
列上的非空约束;
- 您可以将
users
表暴露给 seed
函数的模式
示例 2
通过运行上述填充脚本,您将看到一个警告
这意味着什么?
这意味着您既没有将 users
表提供给 seed
函数的模式,也没有改进 userId
列生成器。
因此,userId
列将填充 Null 值。
然后您将有两个选择:
改进 userId
列生成器
这样做需要 users
表中已经有类似于 1 和 2 的 ID。