结合使用sequelize cli和typescript

问题描述 投票:0回答:3

我正在尝试将sequelize与typescript一起使用,但不知道如何操作。 我安装了一个名为sequelize-cli-typescript 的软件包,但它不适用于sequelize v6。 我知道最好使用迁移来执行我的数据库。我怎样才能做到这一点?

javascript node.js typescript sequelize.js
3个回答
6
投票

如果要使用迁移,您几乎需要将代码转换为 javascript,因为sequelize-cli 不了解 typescript。我们在通过

./dist
运行
npx sequelize-cli db:migrate
之前将我们的内容编译为
npx tsc -p .
,并使用包含以下几行的
tsconfig.json
文件:

{
  "compilerOptions": {
    "target": "es6",
    // ...
    "outDir": "dist",
    // ...
  }
}

.sequelizerc
文件(仅由sequelize-cli使用)也将指向dist,例如:

const path = require('path');

module.exports = {
   'config': path.resolve('./dist/src/config', 'config.js'),
   'models-path': path.resolve('./dist/src/db', 'models'),
   'seeders-path': path.resolve('./dist/src/db', 'seeders'),
   'migrations-path': path.resolve('./dist/src/db', 'migrations')
}

5
投票

使用umzug。它为续集 cli 提供动力。


0
投票

我为此使用了稍微不同的方法。我写了一篇关于 Configuring Sequelize CLI & typescript 的博客,您可以查看我的博客以了解更多详细信息。

重要的部分是在

sequelize.config.js
文件中添加以下行

require('ts-node/register');

这使得 Sequelize 在运行迁移或其他 cli 内容时能够理解

.ts
文件。

注意:这仍会为您的迁移生成

.js
文件,您必须手动更改/更新这些文件。

https://dev.to/maliksamad/sequelize-cli-typescript-4ff0

© www.soinside.com 2019 - 2024. All rights reserved.