问题标签 [sequelize-cli]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
9493 浏览

node.js - 在 Node/Express 中续集 - “没有这样的表:main.User”错误

我正在尝试使用 Sequelize 构建一个简单的 Node/Express 应用程序,但是当我尝试在我的关系数据库中创建新记录时,我收到了错误消息Unhandled rejection SequelizeDatabaseError: SQLITE_ERROR: no such table: main.User。基本上,我在表中创建一个用户,Users然后尝试在表中创建一个相关地址Addresses- 用户已成功创建,但在创建地址时失败并出现此错误......它main从表名中获取前缀的位置? (下面的完整错误读数)...

首先,这是我的程序的概要......

  • 我的 Sequelize 版本是Sequelize [Node: 6.8.1, CLI: 2.4.0, ORM: 3.29.0],我使用 Sequelize CLI 命令sequelize init设置我项目的这一部分。

  • 我正在使用 SQLite3 进行本地开发,并且config/config.json我将开发数据库定义为

    /li>
  • 我的用户迁移:

    /li>
  • 和地址迁移(缩写):

    /li>
  • 用户模型:

    /li>
  • 和地址模型:

    /li>
  • 最后,我的路线index.js

    /li>

因此,当我尝试发布到 时/createUser,将成功创建用户,并且控制台会说已创建新地址(INSERT INTO 'Addresses'...),但未创建地址并记录以下错误:

Unhandled rejection SequelizeDatabaseError: SQLITE_ERROR: no such table: main.User at Query.formatError (/Users/darrenklein/Desktop/Darren/NYCDA/WDI/projects/world_table/wt_test_app_1/node_modules/sequelize/lib/dialects/sqlite/query.js:348:14) at afterExecute (/Users/darrenklein/Desktop/Darren/NYCDA/WDI/projects/world_table/wt_test_app_1/node_modules/sequelize/lib/dialects/sqlite/query.js:112:29) at Statement.errBack (/Users/darrenklein/Desktop/Darren/NYCDA/WDI/projects/world_table/wt_test_app_1/node_modules/sqlite3/lib/sqlite3.js:16:21)

几个月前,我用 Sequelize 做过一次这样的事情,它很成功,我一生都无法弄清楚我在这里缺少什么。为什么应用程序在寻找main.User,我怎样才能让它寻找正确的表格?谢谢!

0 投票
1 回答
141 浏览

sequelize.js - Sequelize关联,一对多,查询many表时如何取回一个?

我的协会是

我需要对事件模型的查询来检索与事件关联的成员数据。

当我查询明细表时,有点像检索主人

0 投票
1 回答
1979 浏览

node.js - 播种时运行 sequelize 模型钩子

我目前正在尝试使用 sequelize 为 postgresql 数据库播种,我在我的模型上声明了钩子,在创建单独的记录(例如测试)时工作得很好

我的种子文件中的数据是否需要在最终表格中显示,或者我可以在创建时调用钩子?

这是我的文件:

0 投票
1 回答
1829 浏览

node.js - SequelizeJS 迁移:向同一个模型添加多个外键?

使用sequelize cli实用程序的迁移功能时,可以通过添加新列来创建新的外键。但是,我在尝试为同一模型创建多个外键时遇到了错误。运行产生的外键名sequelize db:migrate没有区别。数据库引擎要求为所有外键分配一个唯一的名称,但 SequelizeJS 似乎最初将所有外键命名为:

idx如果索引号没有正确增加,这当然会产生相等的键。

在 Sequelize 库中的某处,使用 初始化模型时idx,必须将 的部分_foreign_idx替换为实际数值db.sync(),但我无法确定在哪里。我还db.sync()通过检查另一个数据库中的外键验证了 sequelize 在使用时确实增加了索引值。在那个数据库中,外键被命名为_ibfk_1, _ibfk_2, ..,_ibfk_n

  • 有没有人遇到过外键生成器产生相同名称的问题?
  • 有没有人建议在使用 Sequelize 迁移时如何避免/减轻这种情况?

我使用MySQL作为数据库引擎,但外键名称生成器遵循相同的过程,例如。postgre 也是如此,就我能够解释续集源代码而言。

例子

以下迁移将创建三个模型并使用函数 addColumn 函数在它们之间创建关系sequelize cli

该脚本模拟了教练团队都由某个赞助商赞助的场景。在这个模型中,我们希望在我们的教练和团队模型中都保存对赞助商 ID 的引用。不幸的是,这将创建两个具有名称的外键sponsorId_foreign_idx(一个在教练上,一个在团队模型上),因此外键不会有唯一的名称。idx但是,如果通过一些增量值进行更改,则可以避免这种情况。

完成错误日志转储

0 投票
1 回答
3649 浏览

node.js - 如何使用自定义名称在 sequelize-cli 中定义自定义主键

我试过这个。它正在工作,但它创建了id我想要一些 task_id的主键

但是当我尝试这个时,它给了我错误

并且在所有小写字母的情况下也不起作用

谢谢

这是错误

在此处输入图像描述

0 投票
2 回答
2456 浏览

node.js - sequelize seed 无法在 SQLite 中插入数据

我正在尝试使用 sequelize-cli 命令插入虚拟数据

sequelize db:seed --seed seeders/20170212081140-subject_tags.js

这是我的配置文件

这是我的播种机文件

虽然我得到了状态

我试过了bulkCreatebulkInsert在种子文件中,它们都运行成功,但是数据没有插入到表中,数据没有插入。我做错了什么吗?

0 投票
0 回答
479 浏览

sequelize.js - Sequelize-CLI:运行迁移

当我在这个类上运行迁移时,我希望能够分配一个 id 和一个 UUID。将 id 设置为主键,将 UUID 设置为默认值。但是,当我运行sequelize db:migrate命令时,我得到了高度模糊的错误:

val.replace 不是函数:

这是我的代码:

0 投票
1 回答
5405 浏览

node.js - 如何定位 sequelize 迁移文件?

通过 sequelize-cli 文件结构访问 sequelize 迁移文件有很多帖子。但是,如果我不使用 sequilize-cli,如何找到迁移文件?

0 投票
1 回答
805 浏览

sequelize.js - 续集cli不使用postgres

跑步

打印出来:

然后看看 config/development.json 我看到:

为什么?为什么sequelize还在尝试去mysql端口?正如您在配置文件中看到的那样,我还添加了端口。我找不到任何资源说不支持 postgres。但似乎 sequelize-cli 仍然不关心方言甚至我在配置文件中输入的端口号。

0 投票
1 回答
2218 浏览

node.js - Sequelize:根据请求在运行时连接到数据库

我正在开发一个 node.js 应用程序,我需要连接到多个数据库。其中一个数据库是中央数据库,其中包含所有人共有的信息。然后是国家级数据库,根据国家/地区存储数据。

我在应用程序中使用 sequelize ORM。
数据库是postgresql。
框架很明确。

问题是我想根据要使用哪个数据库的请求来决定运行时,模型应该自动连接到适当的数据库。我已经看到了这个问题,但没有发现它有帮助。

我还检查了另一个论坛,但没有找到任何东西。