文章插图
文章插图
控制台也收到日志了,后面可以把这些日志请求保留成 .log 文件,这样请求日志也有了,完美!下一步,我们开始连接数据库 , 这样就不用单机玩泥巴了~
第二步、配置 MySQL
MySQL 安装其实很简单,我电脑是 mac 的,所以下面的截图都是以 mac 为例,先下载对应的数据库 。
下载地址:https://dev.mysql.com/downloads/mysql/ 至于其他系统的 , 可以网上找教程,这个应该烂大街了,我就不重复搬运教程了 。
- 注意:安装的数据库,一定要设置密码,连接数据库必须要有密码,否则会导致连接数据库失败 。
- MySQL 我们只安装数据库就行,熟悉指令的童鞋 , 就直接命令行操作就行 。
- 不熟悉的话,那就下载图形化管理工具 。
?windows 也可以使用 https://www.heidisql.com/download.php?download=installer?
PS:安装 workbench 时发现要求 MacOS 13以上,我的电脑是 MacOS 12 。
白白下载,所以只能 https://downloads.mysql.com/archives/workbench/ 从归档里面找低版本 8.0.31 。对于数据库服务也有版本要求,大家按照自己电脑版本,选择支持的版本即可 。https://downloads.mysql.com/archives/community/ 。我这边选择的是默认最新版本:8.0.34,下载好直接安装,一路 Next 到底,记住自己输入的 Root 密码?。。?
确认好当前数据库是否已经运行起来了,启动 Workbench 查看状态 。
文章插图
??1.创建数据库
文章插图
??数据库存在字符集选择,不同的字符集和校验规则,会对存储数据产生影响,所以大家可以自行查询,按照自己存储数据原则选择,我这里默认选最广泛的 。确认好,就选择右下角的应用按钮 。
2.创建表和属性
文章插图
??选项解答:
•PRIMARY KEY是表中的一个或多个列的组合,它用于唯一标识表中的每一行 。
•Not NULL和 Unique就不解释,就是直译的那个意思 。
•GENERATED生成列是表中的一种特殊类型的列,它的值不是从插入语句中获取的,而是根据其他列的值通过一个表达式或函数生成的 。
CREATETABLEpeople (
first_name VARCHAR(100),
last_name VARCHAR(100),
full_name VARCHAR(200)AS(CONCAT(first_name,' ',last_name))
);
- UNSIGNED 这个数值类型就只能存储正数(包括零),不会存储负数 。
- ZEROFILL 将数值类型的字段的前面填充零,他会自动使字段变为 UNSIGNED,直到该字段达到声明的长度,如:00007
- BINARY 用于存储二进制字符串,如声明一个字段为 BINARY (5),那么存储在这个字段中的字符串都将被处理为长度为 5 的二进制字符串 。
?如果你尝试存储一个长度为 6 的字符串,那么它将被截断为长度为 5
?主要用途是存储那些需要按字节进行比较的数据,例如加密哈希值
- 此外也可顺手传创建一个索引,方便快速查找 。
`content`TEXTNOTNULL,
`l_level`INTUNSIGNEDNOTNULL,
`l_category`VARCHAR(255)NOTNULL,
`l_created_at`TIMESTAMPNOTNULLDEFAULTCURRENT_TIMESTAMP,
`l_updated_at`TIMESTAMPNOTNULLDEFAULTCURRENT_TIMESTAMP,
PRIMARYKEY(`id`),
UNIQUEINDEX`id_UNIQUE`(`id`ASC)VISIBLE,
INDEX`table_index`(`l_level`ASC,`l_category`ASC,`l_time`ASC)VISIBLE);
3.连接数据库
由于目前 node-oracledb 官方尚未提供针对 Apple Silicon 架构的预编译二进制文件 。导致我们无法在 Mac M1 芯片上使用 TypeORM 链接数据库操作,它目前只支持 Mac x86 芯片 。哎~折腾老半天,查阅各种文档,居然有这个坑,没关系我们换个方式打开 。
我们不得不放弃 , 从而选用 https://docs.nestjs.com/techniques/database#sequelize-integration 哐哐哐~一顿操作猛如虎,盘它!
- 安装 Sequelize
# 安装 type
npminstall --save-dev @types/sequelize
推荐阅读
- MySQL 5.7废止了?我们暂无计划
- AI不缺概念,甚至不缺技术,但实在缺产品
- Java中,对象一定在堆中分配吗?
- 用IntelliJ IDEA进行前端开发
- MPLS静态配置新手必看!
- 永久不过时的3个追女生套路
- 现在的城镇职工养老保险,还能够一次性补缴15年的费用吗?
- 没得选,游戏进入“开挂”时代
- 为什么中国的白酒在国外火不起来?老外说出原因,让国人感同身受
- 白酒度数越高就越容易辣喉吗?