特性
默认支持 TypeScript
我们来打算用 Sequelize.js,发现他 对 TS 支持不够好
支持关联(Associations)
支持事务(Transaction)
支持数据库迁移(Migration)
启动数据库 postgresql
新版 docker(额外)
在项目目录中创建 blog-data 目录
.gitignore 里添加 /blog-data/
启动 PostgreSQL
一句话启动
新版: docker run -v "$PWD/blog-data":/var/lib/postgresql/data -p 5432:5432 -e POSTGRES_USER=blog -e POSTGRES_HOST_AUTH_METHOD=trust -d postgres:12.2
旧版: docker run -v "blog-data":/var/lib/postgresql/data -p 5432:5432 -e POSTGRES_USER=blog -e POSTGRES_HOST_AUTH_METHOD=trust -d postgres:12.2
docker ps -a 这句话可以查看容器的运行状态
docker logs 容器id 这句话可以查看启动日志
验证 pg
进入 docker 容器
docker exec -it 容器id bash
进入 pg 命令行
psql -U blog -W
由于上面没有设置密码,所以直接回车即可
如果需要密码,可在docker run 选项里的 -e POSTGRES_HOST_AUTH_METHOD=trust 替换成 -e POSTGRES_PASSWORD=123456
一些简单的命令
\l 用于 list databases,目前有一个 blog 数据库
\c 用于 connect to a database
\d 用于 display
\dt 用于 display tables,目前还没有
创建数据库
用 SQL 来创建数据库
CREATE DATABASE xxx ENCODING 'UTF8' LC_COLLATE 'en_US.utf8' LC_CTYPE 'en_US.utf8';
因为 Type ORM 没有提供单纯创建数据库的 API
创建三个数据库:开发、测试、生产
对应英文 blog_development、blog_test、 blog_production
得到三个数据库
安装 TypeORM
打开官网,点击 Getting Started
安装该安装的依赖(typeorm reflect-metadata @types/node pg)
不要使用 Quick S