From 77838e8e0c0c04876f57ca6f007a5a8b13114b38 Mon Sep 17 00:00:00 2001 From: Jerko Steiner Date: Sat, 23 Mar 2019 21:21:47 +0800 Subject: [PATCH] packages/comments-server: Migrate to mysql/mariadb Currently mysql2 prints a warning every time a connection is established. This should be fixed with soon: https://github.com/typeorm/typeorm/pull/3753 --- docker-compose.yml | 13 ++++++++++ package-lock.json | 24 +++++++++++++++++++ package.json | 1 + packages/server/src/entities/BaseEntity.ts | 2 +- packages/server/src/entities/Session.ts | 2 +- packages/server/src/error/ErrorTransformer.ts | 3 ++- 6 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 docker-compose.yml diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..1ec3681 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,13 @@ +--- +version: '3' + +services: + mysql: + image: mariadb:10 + ports: + - 127.0.0.1:3306:3306 + environment: + MYSQL_ROOT_PASSWORD: root + MYSQL_USER: test + MYSQL_PASSWORD: test + MYSQL_DATABASE: test diff --git a/package-lock.json b/package-lock.json index 96ef615..b7c9bb5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2749,6 +2749,12 @@ "integrity": "sha512-l5r9ir56nda3qu14nAXIlyq1MmUSs0meCIaFAh8HwkFwP1F8eToOuS3ah2VAHHcY04jaYD7FpJC5JTXHYRbkzg==", "dev": true }, + "bignumber.js": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-4.1.0.tgz", + "integrity": "sha512-eJzYkFYy9L4JzXsbymsFn3p54D+llV27oTQ+ziJG7WFRheJcNZilgVXMG0LoZtlQSKBsJdWtLFqOD0u+U0jZKA==", + "dev": true + }, "binary-extensions": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz", @@ -8932,6 +8938,18 @@ "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", "dev": true }, + "mysql": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/mysql/-/mysql-2.16.0.tgz", + "integrity": "sha512-dPbN2LHonQp7D5ja5DJXNbCLe/HRdu+f3v61aguzNRQIrmZLOeRoymBYyeThrR6ug+FqzDL95Gc9maqZUJS+Gw==", + "dev": true, + "requires": { + "bignumber.js": "4.1.0", + "readable-stream": "2.3.6", + "safe-buffer": "5.1.2", + "sqlstring": "2.3.1" + } + }, "mz": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", @@ -11865,6 +11883,12 @@ } } }, + "sqlstring": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz", + "integrity": "sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A=", + "dev": true + }, "sshpk": { "version": "1.16.0", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.0.tgz", diff --git a/package.json b/package.json index 23de544..6c84a2d 100644 --- a/package.json +++ b/package.json @@ -41,6 +41,7 @@ "jest": "^24.5.0", "lerna": "^3.13.1", "loose-envify": "^1.4.0", + "mysql": "^2.16.0", "node-sass": "^4.11.0", "nodemon": "^1.18.9", "npm-run-all": "^4.1.5", diff --git a/packages/server/src/entities/BaseEntity.ts b/packages/server/src/entities/BaseEntity.ts index 6cc73c7..e3e09c1 100644 --- a/packages/server/src/entities/BaseEntity.ts +++ b/packages/server/src/entities/BaseEntity.ts @@ -5,7 +5,7 @@ import { } from 'typeorm' export abstract class BaseEntity { - @PrimaryGeneratedColumn() + @PrimaryGeneratedColumn({type: 'bigint'}) id!: number @CreateDateColumn() diff --git a/packages/server/src/entities/Session.ts b/packages/server/src/entities/Session.ts index c3c2958..a0d863f 100644 --- a/packages/server/src/entities/Session.ts +++ b/packages/server/src/entities/Session.ts @@ -8,7 +8,7 @@ export class Session implements ISession { id!: string @Index() - @Column() + @Column({type: 'bigint'}) expiredAt: number = Date.now() @ManyToOne(type => User, user => user.sessions) diff --git a/packages/server/src/error/ErrorTransformer.ts b/packages/server/src/error/ErrorTransformer.ts index cb9e0b1..071af56 100644 --- a/packages/server/src/error/ErrorTransformer.ts +++ b/packages/server/src/error/ErrorTransformer.ts @@ -28,4 +28,5 @@ export class ErrorTransformer { } } -export const UniqueTransformer = new ErrorTransformer(400, /unique/i) +export const UniqueTransformer = new ErrorTransformer( + 400, /(unique|ER_DUP_ENTRY)/i)