Midwayjs 之 配置mysql数据库并自动生成entity

279 阅读1分钟

介绍

一直在公司吹牛说,要写一个node服务中台,自动化完成第三方服务转接的功能。最近终于开始动手设计和编写代码了。

技术选型

Midwayjs开发后端的内容;vue3开发前端的内容;本文主要讲解Midwayjs中配置数据库等相关知识。

初始配置

根据官网的脚手架,选择koa的脚手架模板。

根据官网的数据源管理,配置本地Mysql的数据库。代码如下:

export default {
  // use for cookie sign key, should change to your own and keep security
  keys: '1716969720473_479',
  koa: {
    port: 7001,
  },
  typeorm: {
    dataSource: {
      default: {
        type: 'mysql',
        host: '127.0.0.1',
        port: 3306,
        username: 'root',
        password: 'root',
        database: 'node_serve_platform',
        synchronize: true, // 如果第一次使用,不存在表,有同步的需求可以写 true,注意会丢数据
        logging: false,
        // 配置实体模型
        entities: [
          'entity', // 特定目录
          '**/*.entity.{j,t}s', // 通配加后缀匹配
          '**/*.{j,t}s', // 后缀匹配
        ],
        dateStrings: true,
      },
    },
  },
} as MidwayConfig;

TypeORM的配置

然后根据组件TypeORM,安装相关的依赖。然后看到一行描述:

image.png

跳转网址,根据说明配置了相关的命令:

image.png

然后就执行: npm run entity 可以看到,在项目根目录下有一个文件夹output 自动根据数据库生成了相关的model。如图:

image.png

这个整体来说,是比较丝滑的。但是======> 看到这行描述:

image.png

再看自动生成的model,如下:

image.png

需要把所有相关的内容改成,如下:

image.png

总结

通过配置和工具,能够很丝滑的完成数据表映射的model生成。