Skip to content

Commit

Permalink
[ag|#1] add basic sequelize setup (remove typeorm)
Browse files Browse the repository at this point in the history
  • Loading branch information
aguestuser committed Jun 21, 2018
1 parent 78a32d9 commit 8f878c0
Show file tree
Hide file tree
Showing 16 changed files with 628 additions and 417 deletions.
50 changes: 0 additions & 50 deletions config.ts

This file was deleted.

13 changes: 13 additions & 0 deletions config/db.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"development": {
"database": "jsblog_express_sequelize_dev",
"host": "127.0.0.1",
"dialect": "postgres"
},
"test": {
"database": "jsblog_express_sequelize_test",
"host": "127.0.0.1",
"dialect": "postgres",
"logging": false
}
}
16 changes: 16 additions & 0 deletions config/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import * as db from "db.json"

const defaults = {
port: 8081,
hostname: "localhost",
}

const test = {
...defaults,
db: db.test,
}

const development = {
...defaults,
db: db.development,
}
47 changes: 0 additions & 47 deletions ormconfig.json

This file was deleted.

7 changes: 6 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,14 @@
"@types/mocha": "^5.2.1",
"@types/nock": "^9.1.3",
"@types/node": "^10.3.1",
"@types/pg": "^7.4.9",
"@types/sequelize": "^4.27.22",
"@types/sinon": "^5.0.1",
"@types/sinon-chai": "^2.7.32",
"chai": "^4.1.2",
"mocha": "^5.2.0",
"nock": "^9.3.2",
"sequelize-cli": "^4.0.0",
"sinon": "^5.0.10",
"sinon-chai": "^3.1.0",
"ts-node": "^6.1.0",
Expand All @@ -42,9 +45,11 @@
"lodash": "^4.17.10",
"mysql": "^2.14.1",
"pg": "^7.4.3",
"pg-hstore": "^2.3.2",
"pg-native": "^3.0.0",
"reflect-metadata": "^0.1.10",
"rxjs": "^6.2.1",
"rxjs-compat": "^6.2.1",
"typeorm": "0.2.7"
"sequelize": "^4.37.10"
}
}
25 changes: 25 additions & 0 deletions src/db/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
"use strict"

import * as Sequelize from "sequelize"
import {values, forEach} from "lodash"

const env = process.env.NODE_ENV || "development"
const config = require(__dirname + "/../config/")[env]

export const initDb = () => {

const sequelize = config.use_env_variable
? new Sequelize(process.env[config.use_env_variable], config)
: new Sequelize(config.database, config.username, config.password, config)

const db = {
// import model factories here, like:
// `Person: personFactory(sequelize, Sequelize)`
}

forEach(values(db), (mdl: any) => mdl.associate && mdl.associate(db))

return {...db, sequelize, Sequelize }
}

export default initDb()
24 changes: 0 additions & 24 deletions src/entity/Phone.ts

This file was deleted.

30 changes: 0 additions & 30 deletions src/entity/User.ts

This file was deleted.

16 changes: 1 addition & 15 deletions src/index.ts
Original file line number Diff line number Diff line change
@@ -1,22 +1,8 @@
import "reflect-metadata"
import {createConnection} from "typeorm"
import {dev} from "../config"
import {User} from "./entity/User"
import {dev} from "../../config/"

(async () => {
try {
console.log("running...")

const connection = await createConnection(dev.db)
const userRepo = connection.getRepository(User)
await userRepo.save({
firstName: "Foo",
lastName: "Bar",
age: 25,
})

console.log("Loaded users: ", await userRepo.find())

} catch (e) {
console.error(e)
}
Expand Down
13 changes: 0 additions & 13 deletions src/migration/1528741101463-AddUser.ts

This file was deleted.

21 changes: 0 additions & 21 deletions src/migration/1528838191301-AddColumnsToUserAndCreatePhone.ts

This file was deleted.

12 changes: 12 additions & 0 deletions src/types/sequelize.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import {DataTypeAbstract, DefineAttributeColumnOptions} from "sequelize"

declare type SequelizeAttributes<T extends{ [key: string]: any}> = {
[P in keyof T]: string | DataTypeAbstract | DefineAttributeColumnOptions
}

declare interface BaseAttributes {
id?: number,
archived?: string,
createdAt?: string,
updatedAt?: string,
}
35 changes: 0 additions & 35 deletions test/entity/User.spec.ts

This file was deleted.

16 changes: 0 additions & 16 deletions tsconfig.json

This file was deleted.

3 changes: 2 additions & 1 deletion tslint.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@
"ordered-imports": false,
"no-trailing-whitespace": false,
"object-literal-sort-keys": false,
"indent": [true, "spaces", 2]
"indent": [true, "spaces", 2],
"no-var-requires": false
},
"rulesDirectory": []
}
Loading

0 comments on commit 8f878c0

Please sign in to comment.