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

sequelize.js - Node JS Sequelize,如何在迁移中同步更改模型

我正在使用sequelize cli,当我创建模型时会自动创建迁移,但是当我对模型进行更改时,迁移无法自动更新,那么我们是否可以将模型中发生的更改同步到迁移?

非常感谢

0 投票
0 回答
1736 浏览

mysql - 如何轻松解析csv文件以在node.js sequelize数据库迁移策略中使用?

我已经通过 sequelize-cli 设置并运行了迁移策略,因此可以正确构建表。它可以使用sequelize db:migrate并且可以很好地创建表格。并将sequelize db:migrate:undo删除该表。

我还包含了插入几条记录的代码(根据此处的 SE 评论)。这也有效。这是所有这些的代码:

但我有一个包含 3000 多条记录的 CSV 文件,需要用作种子数据。它在db文件夹中并称为survey.csv. 我还有一个seeders文件夹,我认为它是由sequelize init或自动创建的sequelize migration:create。它目前是空的。

可以使用 Excel 中的 concatenate 函数来创建要插入的有序 n 元组数据,然后将这 3000 行粘贴到的 promise 部分up,但这似乎很荒谬。

我找到了类似问题的回复,但在 Rails 中:

您需要 CSV 库。从文档

arr_of_arrs = CSV.read("path/to/file.csv")

这将为您提供一个 2D 数组,您可以根据需要对其进行处理。CSV 类似于IO.read,但有一些额外的功能,例如标头解析。

看起来有少数(或更多) csv节点包,但天哪,它们太复杂了(就像简单命名的csv)。

有没有一种更简单的 csv 解析器(比如 Rails 的解析器)可以用来促进将 csv 转储到数据库中?或者另一种不需要从电子表格复制的大量多余代码的方法?

0 投票
0 回答
586 浏览

mysql - Sequelize (4.2.0):自定义验证消息不适用于迁移

我正在学习如何使用 sequelize,到目前为止它是一个很棒的 ORM,但我被自定义验证消息所困扰。

我正在使用 sequelize-cli 库来处理迁移,我发现了一个问题,如果您使用 sequelize-cli 创建表,自定义验证消息将不起作用,我尝试了 sequelize.sync 方法来创建表并且它起作用了。

代码

这就是我使用自定义验证消息创建字段的方式

钱包.js

WalletMigration.js(不是实际的迁移文件名)

当我尝试使用相同的 userId 创建一个 Wallet 时,我得到了 aValidation error但我应该得到This user already have a wallet.

我收到的消息是数据库提供的默认消息,因为我unique: true在迁移中使用了,如果我删除该选项,模型验证将不起作用。

我想知道我能做些什么来改变这种行为,或者我可能遗漏了什么?

0 投票
1 回答
8388 浏览

node.js - sequelize.sync({ force: true }) 有时无法正常工作

我正在使用 gulp 任务来迁移数据库。出于测试目的,我使用不同的数据库。所以我需要完全相同的数据库。我正在尝试使用 sequelize.sync({ force: true }) 但它不起作用。

我在门户模型中拥有我的所有模型。这是代码:

使用 Force: true 它应该可以工作,但对我来说,我收到了诸如 mydatbaseName.tablename 不存在之类的错误。

我创建了新的测试数据库。我不想在 testdatabase 中手动创建所有内容,所以我正在使用迁移,但我 gusse 同步无法正常工作。

谁能告诉我,我到底应该遵循什么?

提前致谢。

0 投票
0 回答
1323 浏览

mysql - 使用 sequelize 执行多对多迁移

这是我第一次使用 sequelize,我想运行多对多迁移。这是我的模型的设置:

models/collection.js

models/post.js

我知道 sequelize 具有sync将模型与迁移同步的方法。但是我只想同步一次,因此我写了这个小脚本:

但是,这不是创建CollectionPost表。我错过了什么?

0 投票
1 回答
974 浏览

migration - 在其他列中的字段之后制作 Sequelize 种子

Sequelize 中是否有任何方法可以添加另一列,然后用另一列的内容填充它?

0 投票
1 回答
1295 浏览

node.js - npm run sequelize 无法解决

我正在尝试使用续集迁移:

然后我在 package.json 中添加这个:

然后我尝试:

我收到了这个错误:

该库可以在项目中找到:


更新

通过安装 sequelize 解决了:

0 投票
1 回答
2832 浏览

node.js - Sequelize 中的种子数据具有多对多关系

我一直在尝试使用 sequelize 为我的应用程序获取一些默认数据以播种到我的 PostgreSQL 数据库中。到目前为止,我只找到了一种方法来做到这一点,而且并不理想。

我的主要问题是这里是否有人知道“最佳实践”的方法。

到目前为止,我已经尝试使用 Seeds,在同步每个模型后注入默认信息,最后我回到了要求文件,这些文件定义了我希望如何models.sequelize.sync()在主 app.js 文件中注入默认信息。

播种:当做的不仅仅是将数据转储到数据库中时,这种方法似乎崩溃了,关联,即类方法,(据我所知)不能在这里使用,这使得更新多对多关系几乎不可能。

模型定义:将带有关联的默认信息注入模型的问题是您必须以某种方式将其他模型定义导入模型,我似乎无法正常工作。

在这一点上,我对挑选代码并不感兴趣,因为我正在寻找您认为/知道的最佳方式来获取与数据库关联的默认数据。似乎这将是一个更受欢迎的问题,因为几乎每个应用程序都附带至少几条默认信息。我很想被告知我完全忽略了一些东西,它实际上很简单:)

感谢您提前讨论。

0 投票
1 回答
1534 浏览

javascript - Sequelize.INTEGER 与 DataTypes.INTEGER

2016 年使用 sequelize ORM 的代码中,我看到使用此模式定义的模型类型:

但是,在当前的 sequelize 文档中,您会看到最突出的文档:(Sequelize.INTEGER或其他类型,然后是整数)。同时在当前文档中我还DataTypes发现documented/usedhere

在同一页面上Sequelize.INTEGER使用...,仅适用于延期或其他什么?

我试图找出这是否会随着时间的推移而改变或其他什么,但找不到。

什么时候Sequelize.INTEGER是“当前解决方案”,我可以将上面的代码更改为:

或者使用Sequelizeas 参数会以某种方式使这个失败?

0 投票
1 回答
6262 浏览

postgresql - sequelize 播种机上的自定义查询

任何人都知道如何在续集播种机上自定义选择查询

我尝试了两种方法,但没有一种工作

第一次尝试

然后得到错误

我不明白为什么管理员是这里的专栏???

第二次尝试

发生以下错误

SequelizeDatabaseError: syntax error at or near ":"

第三次尝试

错误:

更新

第四次尝试

出现另一个错误:

queryInterface.sequelize.query('SELECT * FROM "Users"')工作没有任何错误。我认为这里的问题是 WHERE 查询

这让我发疯:)

感谢您提前提供任何帮助!