我正在尝试使用sequelize与typescript,但不知道如何。我安装了一个名为sequelize-sequelize-typescript的软件包,但它不适用于sequelize v6。我知道最好使用迁移来执行我的数据库。我该怎么做?
ffvjumwh1#
如果你要使用迁移,你几乎需要将你的代码转换成JavaScript,因为sequelize-encrypt对typescript一无所知。我们在通过npx tsc -p .运行npx sequelize-cli db:migrate之前,用一个tsconfig.json文件将我们的代码编译成./dist,该文件包含以下行:
npx tsc -p .
npx sequelize-cli db:migrate
tsconfig.json
./dist
{ "compilerOptions": { "target": "es6", // ... "outDir": "dist", // ... } }
字符串.sequelizerc文件(仅由sequelize-encryption使用)也将指向dist,例如:
.sequelizerc
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') }
型
368yc8dk2#
使用umzug。它可以增强续集的效果。
2条答案
按热度按时间ffvjumwh1#
如果你要使用迁移,你几乎需要将你的代码转换成JavaScript,因为sequelize-encrypt对typescript一无所知。我们在通过
npx tsc -p .
运行npx sequelize-cli db:migrate
之前,用一个tsconfig.json
文件将我们的代码编译成./dist
,该文件包含以下行:字符串
.sequelizerc
文件(仅由sequelize-encryption使用)也将指向dist,例如:型
368yc8dk2#
使用umzug。它可以增强续集的效果。