node.js - Sequelize - 运行同步正在构建多个版本的表,这些表具有不同的 FK 文件名和不同版本中的初始化值
问题描述
我已将模型的名称更改为与定义的名称相同,因为我建议这样做以使我的“包含”返回正常工作。从那时起,尽管我的 const 名称和定义名称完全相同,但我在 PGadmin 上为同一模型创建了多个表。这现在给我带来了问题,因为我的初始化值和外键出现在不同的表上。
这是个常见的问题吗?我最好改回旧的命名结构吗?我之前只是在定义模型的末尾放了一个 s,但是当我将它们全部输入到我的 index.js/model 文件中时,我的“包含”语句没有返回任何内容。
这可能与我的 pgAdmin 连接方式有关吗?由于连接可以追溯到上个月,我认为某处可能有旧数据。我以前认为 Sequelize sync 只是擦除了文件夹并从我的 IDE 中的模型/约束/初始化值重新开始。
尽管我的服务器没有崩溃,但我也收到如下错误。
解决方案
出于某种原因,pgAdmin 喜欢我的模型的复数名称,并且当我以单数和复数形式命名它们时效果更好。在我“定义”它们的情况下,我使用了复数名称,在我进行诸如“model.examples”之类的关联的情况下,我使用了它定义的版本。
我现在已经让我的关联与 Postman API 一起工作,并且外键值被正确提取。
我仍然不确定为什么会生成旧名称,但这可能与我的 IDE 连接拉动我之前生成的旧同步有关。
推荐阅读
- airflow - 虚拟操作员失败,状态为:upstream_failed
- php - 使用 MultiCell fpdf 方法
- kubernetes - 将多个用户连接到同一个 kubernetes pod
- javascript - 如何显示加载栏几秒钟
- python - 如何计算两个偏移量之间的 Kafka 消息数?
- c# - 在 C# 中,当您只提供命名空间中的最后一个“单词”时,引用类如何工作?
- java - JPA 查询,SQRT 函数在 ORDER BY 子句中不起作用
- typescript - 为什么 typeorm 返回
输入,不返回 输入查找功能? - c# - C# - .Net Core 编写一个 ANSI 编码的文本文件
- error-handling - 从 Nexus 解析器返回 ApolloErrors 的最佳实践