用 Koa 和 Postgres 创建一个 RESTFul API

环境搭建

1
2
// 安装 Koa
npm i koa

NPM 依赖

1
2
3
node V10.10.0

Koa v2.7.0

test 库

chai mocha sinon

1
2
3
4
5
npm install --save chai

npm install --save mocha

npm install --save sinon

安装数据库

安装 pg

1
npm install pg --save

安装 knex. knex —— 一个用于 Javascript 的 SQL 查询生成器。

1
2
3
4
npm install knex --save

// 全局安装 Knex,可以使用 CLI 工具
npm install knex -g

CLI

CLI 配置

创建 knexfile.js, 包含不同版本的数据库配置。

1
knex init

Migration

knexfile.js 中配置创建的 migrations 位置

1
2
3
4
5
6
7
.....
migrations: {
directory: path.join(BASE_PATH, 'migrations')
},
.....

knex migrate:make migrate_name

根据 NODE_ENV 更新数据库,更新数据库

1
2
3
4
5
6
knex migrate:lastest

knex migrate:lastest --env production

or
NODE_NEV=production knex migrate:lastest

回滚迁移

1
knex migrate:rollback

Seed files

创建测试数据

1
knex seed:make seed_name

执行 seed 文件

1
knex seed:run

参考

Koa
Postgres
Building a RESTful API with Koa and Postgres