美文网首页让前端飞Web前端之路
Nest.js学习之路(14)- TypeORM库(1)存取 i

Nest.js学习之路(14)- TypeORM库(1)存取 i

作者: cbw100 | 来源:发表于2019-06-17 01:15 被阅读4次

    nest.js团队选用TypeORM作为与数据库互动的库,TypeORM也是以Typescript开源的项目

    nest.js里使用TypeORM先要安装下列套件

    yarn add @nestjs/typeorm typeorm
    

    再来根据选用的数据库,到TypeORM Github,额外安装套件

    例如这里选用Mysql

    npm install mysql -g
    

    在项目根目录下新建ormconfig.json文件,如下:

    {
       "type": "mysql",
       "host": "localhost",
       "port": 3306
       "username": "root", //输入你的mysql账号
       "password": "xxx", // 密码
       "database": "demo-nest", // 指定数据库名称
       "synchronize": true,
       "logging": false,
       "entities": [ // mapping class的放的位置,指定放在shared下
          "src/shared/entity/**/*.ts"
       ],
       "migrations": [ // 存放数据库版本管控(migration)的目录,指定放在shared下
          "src/shared/migration/**/*.ts"
       ],
       "subscribers": [
          "src/subscriber/**/*.ts"
       ],
       "cli": { //预设使用CLI产生档案的目录,指定放在shared文件夹下
          "entitiesDir": "src/shared/entity",
          "migrationsDir": "src/shared/migration",
          "subscribersDir": "src/shared/subscriber"
       }
    }
    

    利用CLI建立第一个Entity Class

    typeorm entity:create -n Platform

    2018110903.png
    import {Entity, PrimaryGeneratedColum} from "typeorm";
    
    @Entity()
    export class Platform {
        @PrimaryGeneratedColumn() //建立table需要primary key
        id: number;
    }
    

    在app.module.ts import TypeOrmModule

    app.module.ts

    ...
    import {TypeOrmModule} from '@nestjs/typeorm';
    
    @Module({
      imports: [
        SharedModule,
        TypeOrmModule.forRoot(),
      ],
    ...
    

    因为我这里用的是mac 然后我装的mysql图形化管理工具是Sequel Pro,打开Sequel Pro 新建 demo-nest Databases数据库,
    然后运行:

    npm run start: dev
    

    然后在Sequel Pro可以看到新建的platform table表:


    2018111201.png

    推荐一下我的公众号: 【 geekjc 】,微信号: 【 c8706288 】一起学习交流编程知识,分享经验,各种有趣的事。

    tuiguang.png

    相关文章

      网友评论

        本文标题:Nest.js学习之路(14)- TypeORM库(1)存取 i

        本文链接:https://www.haomeiwen.com/subject/neboxqtx.html