问题标签 [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.
postgresql - 在 destory 和 bulkCreate 上续集 js 事务不回滚
我正在尝试在批量创建/插入新的之前删除所有 report_details。问题是当 bulkCreate 出现错误时,它不会回滚。它应该将被破坏的 report_details 带回来,但它不起作用。
我测试此事务代码的方式是插入report_details,然后手动更改一个列名,以便在再次插入时出现列错误。并且事务应该回滚,但实际上report_details 已被破坏,并且在bulkCreate 错误时它不会带回已破坏的report_details 有人可以看看我的代码。我在谷歌上搜索我的语法是正确的。以及如何在我的机器上测试交易?除了更改列名,还有其他方法可以产生错误吗?
node.js - Sequelize-cli 如何在生成模型和迁移文件时不包含时间戳?
只需按照 sequelize 文档 ( http://docs.sequelizejs.com/manual/tutorial/migrations.html ),我们可以使用 sequelize-cli 命令生成模型和迁移文件,例如:
但是,在迁移文件中,可以找到两个额外的时间戳值,它们将被添加到数据库中:
我知道我可以timestamp: false
手动设置和/或删除这两个条目,但最好在生成模型/迁移文件时设置一个选项以不具有这些时间戳。有没有这样的方法?
node.js - Sequelize-cli 如何从现有模型生成迁移文件?
问题:
为了在一个干净的环境中开始为 Web 应用程序开发东西,我希望能够将现有的数据库结构复制(克隆)到续集模型 + 迁移文件中,然后用哑数据作为种子。
我发现名为的工具sequelize-auto
似乎可以很好地从现有数据库生成模型文件(请注意还没有users.js
模型;它将被覆盖!):https ://github.com/sequelize/sequelize-自动。
此工具将创建模型文件,但不会创建迁移文件。
问题:
有没有办法从这个模型构建一个“state-0”迁移文件?
对于一个或两个表,手动设置它们可能很好,但是对于大量的表,它可能容易出错且耗时,这就是我正在寻找一种自动化方式的原因。
node.js - Sequelize-cli how to create seed files from an existing database?
Issue:
In order to start in a clean environment for developing stuff for a web app I would appreciate to be able to retrieve some data from an existing DB (let say the 10 first lines of every tables) in order to create a sequelize seed file per table. It will then be possible to seed an empty DB with these data into the corresponding models and migrations.
I have found the tool named sequelize-auto
which seems to work fine to generate a model file from an exsting DB (beware of not already having for example a uses.js model ; it will be overwritten !) : https://github.com/sequelize/sequelize-auto.
This tool will create a model file, but neither a migration or a seed file.
Question:
Is there a way to build a seed file from an existing database?
mysql - 迁移后如何向模式添加新属性?
目前我正在做一个node.js项目,在构建架构时发现了一个问题,通常我使用http://docs.sequelizejs.com/manual/tutorial/migrations.html提供的命令行来定义我的模式,即$ node_modules/.bin/sequelize model:generate --name User --attributes firstName:string,lastName:string,email:string
,在 之后$ node_modules/.bin/sequelize db:migrate
,我可以将这些属性写入数据库。但是,我想知道迁移后如何向模式添加新属性,我搜索并发现这个https://github.com/sequelize/cli/issues/133正在讨论这个问题,但是在我尝试了解决方案并运行之后$ node_modules/.bin/sequelize db:migrate
再次,它没有将新属性写入原始模式,我不明白问题出在哪里,下面是我的代码,我正在尝试将两个属性“地址”和“高度”添加到用户模式中,你们可以吗?给我一些建议?谢谢!
node.js - 无法使用节点 js、mysql 和 sequelize 库执行发布请求
我正在使用 node.js、Mysql 和Sequelize ORM Library为简单的 Todo App 制作 api 。基本上有 2 个表 Todos 和 TodoItems。这两个表之间的关系是
1) 一个 Todo 可以有很多 TodoItems 。2) 一个 TodoItem 只能有一个 TodoId。
所以根据第二个关系,我在 TodoItems 表中创建一个外键,并为在 TodoItems 表中输入一个 TodoItem 发出一个发布请求。
这是我在表格中创建和输入 todoitem 的控制器功能
这是我创建 TodoItems 表的迁移文件
和相同的路由器功能是
所以api链接有点像这样
本地主机:4006/todoitems/1
但是当我在邮递员中运行这个 api 进行测试时,它给出了这个错误
由于我已经验证了 todoId 不为空,因此它不能采用空值,但我在 api 链接中传递了 todoId,并且我还编写了应该从 api 链接获取 todoId 并将该值分配给表中的 todoId 列的代码。
我无法理解为什么会收到此错误。还有一件事我无法理解,当我在 TodoItems 中也有 todoId 列时,但在错误中我能够看到 TodoItem 表的所有列,但看不到 TodoId,因为它是写的
“插入TodoItems
( id
, content
, complete
, createdAt
, updatedAt
)”。
为什么缺少 TodoId 列。我无法理解
请帮助提前谢谢!
node.js - 不应该删除迁移吗?
我在节点应用程序中为我的 PostgreSQL 使用 Sequelize。
让我详细说明我的问题。我进行了两次迁移——一个创建了一个表,另一个向它添加了一个列。
我可以在我的 psql 的表中看到这些迁移条目,SequelizeMeta
但问题是当我从我的项目中删除其中一个迁移文件时,相应的条目不会消失。
我可以理解,此后我必须运行sequelize
命令才能出现冲突,但是当我尝试运行命令时它仍然没有显示任何内容sequelize
。
例如,在运行了两个迁移然后删除了第二个迁移之后,我跑到sequelize db:migrate:undo:all
只看到它能够正确地为第一个 CREATE 表迁移运行恢复。
它完全忽略了表中第二次迁移的条目
SequelizeMeta
。
当我运行db:migrate
时,当我希望它会查找第二个迁移文件时,它也没有给我任何错误。它只是运行了第一个。
SequelizeMeta
PS那么迁移和表之间的同步在哪里?还是sequelize-meta
为了那件事?
这是一个未解决的问题。
postgresql - Sequelize 迁移 queryInterface.removeColum 无法正常工作
我创建了一个迁移文件以将列添加为up
,然后在down
.
这是迁移文件代码:
当我第一次使用 运行它时db:migrate
,它成功添加了列,但是当我执行 adb:migrate:undo:all
然后再次运行迁移时,它给我一个错误 sqing
这里的问题仍然存在。
postgresql - TypeError:s.replace 不是函数
环境:
- Postgres:10.2
- 节点:6.11.0
- 命令行:2.4.0
- 甲骨文:2.1.3
模型:
移民:
错误:
node.js - 如何使用 sequelize 运行播种机
我正在尝试使用 sequelize 将值放入表中。我全局安装了 sequelize-cli 并使用该命令sequelize seed:create --name my-seed-file
创建播种器文件夹,并用所需的值填充文件。
当我sequelize db:seed:all
用来运行它给我以下错误
我究竟做错了什么?