Skip to content
This repository was archived by the owner on Nov 10, 2021. It is now read-only.

Commit ede34a2

Browse files
committed
Create knex config file
1 parent 5b25ef8 commit ede34a2

File tree

3 files changed

+50
-28
lines changed

3 files changed

+50
-28
lines changed

server/index.js

+3-10
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,17 @@
33
// require modules
44
const Koa = require("koa")
55
const Router = require("koa-router")
6+
const Knex = require("knex")
67
const rp = require("request-promise")
78
const crypto = require("crypto")
89
const uuid = require("uuid")
9-
const knex = require("knex")({
10-
client: "sqlite3",
11-
connection: {
12-
filename: "./development.db",
13-
timezone: "UTC"
14-
},
15-
acquireConnectionTimeout: 1000,
16-
useNullAsDefault: true
17-
})
1810

1911
// define constant values
2012
const app = new Koa()
2113
const router = new Router({prefix: "/api/v1"})
2214
const secretKey = crypto.randomBytes(32).hexSlice()
23-
const {client_id, client_secret} = process.env
15+
const {client_id, client_secret, NODE_ENV} = process.env
16+
const knex = Knex(require("./knexfile.js")[NODE_ENV || "development"])
2417
const endpoint = "https://qiita.com/api/v2"
2518

2619

server/init_db.js

+2-18
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,5 @@
1-
const uuid = require("uuid")
2-
const knex = require("knex")({
3-
client: "sqlite3",
4-
connection: {
5-
filename: "./development.db",
6-
timezone: "UTC"
7-
},
8-
acquireConnectionTimeout: 1000,
9-
useNullAsDefault: true
10-
})
1+
const Knex = require("knex")
2+
const knex = Knex(require("./knexfile.js")[process.env.NODE_ENV || "development"])
113

124
// Create table
135
knex.schema.createTableIfNotExists("users", (table) => {
@@ -27,11 +19,3 @@ knex.schema.createTableIfNotExists("item_dislike", (table) => {
2719
table.primary("by_whom", "id")
2820
})
2921
.then(() => console.log("Item_dislike table initialize done."))
30-
31-
// Create test account
32-
const token = uuid.v1()
33-
const suffix = new Date().getMilliseconds()
34-
knex("users").insert({id: `testuser${suffix}`, token: token, revoked: false })
35-
.then(() => console.log(`New user testuser${suffix} created.
36-
Request with "Authorization: Bearer ${token}" http header.
37-
`))

server/knexfile.js

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
module.exports = {
2+
3+
development: {
4+
client: "sqlite3",
5+
connection: {
6+
filename: "./development.db",
7+
timezone: "UTC"
8+
},
9+
acquireConnectionTimeout: 1000,
10+
useNullAsDefault: true
11+
},
12+
13+
staging: {
14+
client: 'postgresql',
15+
connection: {
16+
database: 'my_db',
17+
user: 'username',
18+
password: 'password'
19+
},
20+
pool: {
21+
min: 2,
22+
max: 10
23+
},
24+
migrations: {
25+
tableName: 'knex_migrations'
26+
}
27+
},
28+
29+
production: {
30+
client: 'postgresql',
31+
connection: {
32+
database: 'my_db',
33+
user: 'username',
34+
password: 'password'
35+
},
36+
pool: {
37+
min: 2,
38+
max: 10
39+
},
40+
migrations: {
41+
tableName: 'knex_migrations'
42+
}
43+
}
44+
45+
};

0 commit comments

Comments
 (0)