Entity,可以翻译成实体,实体就是在应用里面存在的一些东西,比如文章、评论、用户,这些东西都可以看成是实体,TypeOrm 里的实体会对应一个数据库的数据表。
下面去创建一个叫 Post 的实体,表示应用里发布的内容,在 src,modules,Post 模块里面创建一个文件,名字是 post.entity.ts。
实体可以是一个类,这个类要使用 @Entity 装饰器装饰一下,这个装饰器来自 typeorm 模块。
用它装饰一个类,类的名字就是实体的名字,比如 Post ,这样就会在应用的数据库里创建一个叫 post 的数据表,如果你想设置一下这个数据表的名字,可以给 @Entity 一个参数值,这个值会作为创建的数据表的名字。
每一种实体都必须要有一个 Primary Column,就是主数据栏,在 MySQL 数据库里,一般这个数据栏就是一些自动生成的数字 id 。
在这个 Post 实体里面添加一个自动生成的主数据栏,可以使用 @PrimaryGeneratedColumn 装饰器装饰一下这个属性,这个装饰器来自 typeorm 模块,栏目的名字可以叫 id,它的值的类型是 number,表示数字,保存一下。
在终端,执行 npm run start:dev ,运行项目的开发服务。
再打开数据库客户端,你可以使用 phpmyadmin ,我用的是 sequel pro,连接到数据库,打开 nest 。
你会发现,在应用的数据库里创建了一个叫 post 的数据表,这个表里面现在只有一个字段,或者叫数据栏,就是这个 id 。
打开 Structure ,结构,这个字段的类型是 INT。它是这个数据表的 Primary Key ,而且它的值会 auto_increment,自动增加,也就是在这个表里添加数据记录的时候,我们不需要手动设置这个字段的值,它会自动生成一个值,添加的第一个数据记录,它的 id 会是 1 ,第二个数据记录,它的 id 字段的值会自动设置成 2 。