Egg-TS-Sequelize-Cli的使用
  TEZNKK3IfmPf 2023年11月13日 16 0
vue

博主只是将官方文档的步骤给进行实现一下:

Egg-TS-Sequelize-Cli的使用

npm install --save-dev sequelize-cli

编写 .sequelizerc 配置文件

'use strict';

const path = require('path');

module.exports = {
config: path.join(__dirname, 'database/config.json'),
'migrations-path': path.join(__dirname, 'database/migrations'),
'seeders-path': path.join(__dirname, 'database/seeders'),
'models-path': path.join(__dirname, 'app/model'),
};

初始化配置文件

npx sequelize init:config

Egg-TS-Sequelize-Cli的使用

根据配置文件创建数据库

set NODE_ENV=development
npx sequelize db:create

创建迁移文件

npx sequelize migration:generate --name=users

修改迁移文件为 TS 语法

将创建的迁移文件的 JS 后缀改为 ​​.ts​​ 结尾的:

'use strict';
import {QueryInterface} from 'sequelize';

module.exports = {
// 在执行数据库升级时调用的函数,创建 users 表
up: async (queryInterface:QueryInterface, Sequelize) => {
const { INTEGER, DATE, STRING } = Sequelize;
await queryInterface.createTable('users', {
id: { type: INTEGER, primaryKey: true, autoIncrement: true },
name: STRING(30),
age: INTEGER,
created_at: DATE,
updated_at: DATE,
});
},
// 在执行数据库降级时调用的函数,删除 users 表
down: async (queryInterface:QueryInterface) => {
await queryInterface.dropTable('users');
},
};
  • 执行 migrate 进行数据库变更
npx sequelize db:migrate

Egg-TS-Sequelize-Cli的使用

  • 在执行的时候发现报错了,因为博主已经将 .js 后缀的改为了 .ts 结尾的了,所以说按照官方文档来这一步是行不通的,所以还需要编写如下的几个步骤才可以执行迁移文件
  • 在​​package.json​​ 中新增执行 TS 迁移文件脚本
"sequelize-cli-ts": "node -r ts-node/register ./node_modules/sequelize-cli/lib/sequelize"

执行迁移文件

npm run sequelize-cli-ts db:migrate

Egg-TS-Sequelize-Cli的使用

Egg-TS-Sequelize-Cli的使用

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年04月12日   28   0   0 前端vue
  TEZNKK3IfmPf   2024年04月19日   38   0   0 vue
  TEZNKK3IfmPf   2024年04月12日   38   0   0 vue
TEZNKK3IfmPf