问题标签 [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.
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 进行本地开发,并且
/li>config/config.json
我将开发数据库定义为我的用户迁移:
/li>和地址迁移(缩写):
/li>用户模型:
/li>和地址模型:
/li>最后,我的路线
/li>index.js
:
因此,当我尝试发布到 时/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
,我怎样才能让它寻找正确的表格?谢谢!
sequelize.js - Sequelize关联,一对多,查询many表时如何取回一个?
我的协会是
我需要对事件模型的查询来检索与事件关联的成员数据。
当我查询明细表时,有点像检索主人
node.js - 播种时运行 sequelize 模型钩子
我目前正在尝试使用 sequelize 为 postgresql 数据库播种,我在我的模型上声明了钩子,在创建单独的记录(例如测试)时工作得很好
我的种子文件中的数据是否需要在最终表格中显示,或者我可以在创建时调用钩子?
这是我的文件:
和
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
但是,如果通过一些增量值进行更改,则可以避免这种情况。
完成错误日志转储
node.js - sequelize seed 无法在 SQLite 中插入数据
我正在尝试使用 sequelize-cli 命令插入虚拟数据
sequelize db:seed --seed seeders/20170212081140-subject_tags.js
这是我的配置文件
这是我的播种机文件
虽然我得到了状态
我试过了bulkCreate
,bulkInsert
在种子文件中,它们都运行成功,但是数据没有插入到表中,数据没有插入。我做错了什么吗?
sequelize.js - Sequelize-CLI:运行迁移
当我在这个类上运行迁移时,我希望能够分配一个 id 和一个 UUID。将 id 设置为主键,将 UUID 设置为默认值。但是,当我运行sequelize db:migrate
命令时,我得到了高度模糊的错误:
val.replace 不是函数:
这是我的代码:
node.js - 如何定位 sequelize 迁移文件?
通过 sequelize-cli 文件结构访问 sequelize 迁移文件有很多帖子。但是,如果我不使用 sequilize-cli,如何找到迁移文件?
sequelize.js - 续集cli不使用postgres
跑步
打印出来:
然后看看 config/development.json 我看到:
为什么?为什么sequelize还在尝试去mysql端口?正如您在配置文件中看到的那样,我还添加了端口。我找不到任何资源说不支持 postgres。但似乎 sequelize-cli 仍然不关心方言甚至我在配置文件中输入的端口号。
node.js - Sequelize:根据请求在运行时连接到数据库
我正在开发一个 node.js 应用程序,我需要连接到多个数据库。其中一个数据库是中央数据库,其中包含所有人共有的信息。然后是国家级数据库,根据国家/地区存储数据。
我在应用程序中使用 sequelize ORM。
数据库是postgresql。
框架很明确。
问题是我想根据要使用哪个数据库的请求来决定运行时,模型应该自动连接到适当的数据库。我已经看到了这个问题,但没有发现它有帮助。
我还检查了另一个论坛,但没有找到任何东西。