问题标签 [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 回答
3816 浏览

postgresql - 在 destory 和 bulkCreate 上续集 js 事务不回滚

我正在尝试在批量创建/插入新的之前删除所有 report_details。问题是当 bulkCreate 出现错误时,它不会回滚。它应该将被破坏的 report_details 带回来,但它不起作用。

我测试此事务代码的方式是插入report_details,然后手动更改一个名,以便在再次插入时出现列错误。并且事务应该回滚,但实际上report_details 已被破坏,并且在bulkCreate 错误时它不会带回已破坏的report_details 有人可以看看我的代码。我在谷歌上搜索我的语法是正确的。以及如何在我的机器上测试交易?除了更改列名,还有其他方法可以产生错误吗?

0 投票
2 回答
3834 浏览

node.js - Sequelize-cli 如何在生成模型和迁移文件时不包含时间戳?

只需按照 sequelize 文档 ( http://docs.sequelizejs.com/manual/tutorial/migrations.html ),我们可以使用 sequelize-cli 命令生成模型和迁移文件,例如:

但是,在迁移文件中,可以找到两个额外的时间戳值,它们将被添加到数据库中:

我知道我可以timestamp: false手动设置和/或删除这两个条目,但最好在生成模型/迁移文件时设置一个选项以不具有这些时间戳。有没有这样的方法?

0 投票
0 回答
915 浏览

node.js - Sequelize-cli 如何从现有模型生成迁移文件?

问题:

为了在一个干净的环境中开始为 Web 应用程序开发东西,我希望能够将现有的数据库结构复制(克隆)到续集模型 + 迁移文件中,然后用哑数据作为种子。

我发现名为的工具sequelize-auto似乎可以很好地从现有数据库生成模型文件(请注意还没有users.js模型;它将被覆盖!):https ://github.com/sequelize/sequelize-自动

此工具将创建模型文件,但不会创建迁移文件。

问题:

有没有办法从这个模型构建一个“state-0”迁移文件?
对于一个或两个表,手动设置它们可能很好,但是对于大量的表,它可能容易出错且耗时,这就是我正在寻找一种自动化方式的原因。

0 投票
0 回答
1096 浏览

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?

0 投票
1 回答
1567 浏览

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再次,它没有将新属性写入原始模式,我不明白问题出在哪里,下面是我的代码,我正在尝试将两个属性“地址”和“高度”添加到用户模式中,你们可以吗?给我一些建议?谢谢!

0 投票
1 回答
460 浏览

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 列。我无法理解

请帮助提前谢谢!

0 投票
0 回答
1204 浏览

node.js - 不应该删除迁移吗?

我在节点应用程序中为我的 PostgreSQL 使用 Sequelize。

让我详细说明我的问题。我进行了两次迁移——一个创建了一个表,另一个向它添加了一个列。

我可以在我的 psql 的表中看到这些迁移条目,SequelizeMeta但问题是当我从我的项目中删除其中一个迁移文件时,相应的条目不会消失。

我可以理解,此后我必须运行sequelize命令才能出现冲突,但是当我尝试运行命令时它仍然没有显示任何内容sequelize

例如,在运行了两个迁移然后删除了第二个迁移之后,我跑到sequelize db:migrate:undo:all只看到它能够正确地为第一个 CREATE 表迁移运行恢复

它完全忽略了表中第二次迁移的条目SequelizeMeta

当我运行db:migrate时,当我希望它会查找第二个迁移文件时,它也没有给我任何错误。它只是运行了第一个。

SequelizeMetaPS那么迁移和表之间的同步在哪里?还是sequelize-meta为了那件事?

这是一个未解决的问题

0 投票
1 回答
1520 浏览

postgresql - Sequelize 迁移 queryInterface.removeColum 无法正常工作

我创建了一个迁移文件以将列添加为up,然后在down.

这是迁移文件代码:

当我第一次使用 运行它时db:migrate,它成功添加了列,但是当我执行 adb:migrate:undo:all然后再次运行迁移时,它给我一个错误 sqing

这里的问题仍然存在。

0 投票
1 回答
13639 浏览

postgresql - TypeError:s.replace 不是函数

环境:

  • Postgres:10.2
  • 节点:6.11.0
  • 命令行:2.4.0
  • 甲骨文:2.1.3

模型:

移民:

错误:

0 投票
1 回答
4050 浏览

node.js - 如何使用 sequelize 运行播种机

我正在尝试使用 sequelize 将值放入表中。我全局安装了 sequelize-cli 并使用该命令sequelize seed:create --name my-seed-file创建播种器文件夹,并用所需的值填充文件。

当我sequelize db:seed:all用来运行它给我以下错误

我究竟做错了什么?