egg-ts-sequelize-CLI

详情可见
1.安装 sequelize-cli

npm install sequelize-cli

2.在项目根目录下编写.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'),
};

3.初始化配置文件

npx sequelize init:config

4.修改配置文件database/config.json

根据要求设置数据库 目前由于是开发阶段所以只设置开发阶段 ,需要其他就修改
development:开发阶段
test:测试阶段
production:上线阶段
{
  "development": {
    "username": "root",
    "password": "",
    "database": "lihui666",
    "host": "127.0.0.1",
    "dialect": "mysql"
  },
  "test": {
    "username": "root",
    "password": null,
    "database": "database_test",
    "host": "127.0.0.1",
    "dialect": "mysql"
  },
  "production": {
    "username": "root",
    "password": null,
    "database": "database_production",
    "host": "127.0.0.1",
    "dialect": "mysql"
  }
}

5.初始化配置目录

npx sequelize init:migrations

6.创建配置文件

npx sequelize migration:generate --name=users

7.修改迁移文件为TS语法 直接修改database/migration下的创建的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,
      },
      username: {
        type: STRING(255),
        allowNull: true,
        unique: true,
      },
      email: {
        type: STRING(255),
        allowNull: true,
        unique: true,
      },
      phone: {
        type: STRING(255),
        allowNull: true,
        unique: true,
      },
      password: {
        type: STRING(255), // varchar(255)
        allowNull: false,
        unique: false,
      },
      created_at: {
        type: DATE,
      },
      updated_at: {
        type: DATE,
      },
    });
  },
  // 在执行数据库降级时调用的函数,删除 users 表
  down: async (queryInterface:QueryInterface) => {
    await queryInterface.dropTable('users');
  },
};

8.在package.json中新增执行TS迁移文件脚本

  "scripts": {
    "sequelize-cli-ts": "node -r ts-node/register ./node_modules/sequelize-cli/lib/sequelize"
  },

9.执行迁移文件

npm run sequelize-cli-ts db:migrate

10.数据库users创建成功

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值