Skip to content

Commit ac5782b

Browse files
author
hirsch
committed
🗃️ Add PostgreSQL as the default database
1 parent 48ce93a commit ac5782b

File tree

8 files changed

+105
-10
lines changed

8 files changed

+105
-10
lines changed

.env.example

+17-4
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,31 @@ LOG_JSON=false
1616
LOG_OUTPUT=dev
1717

1818
#
19-
# DATABASE
19+
# PostgreSQL DATABASE
2020
#
21-
TYPEORM_CONNECTION=mysql
21+
TYPEORM_CONNECTION=postgres
2222
TYPEORM_HOST=localhost
23-
TYPEORM_PORT=3306
24-
TYPEORM_USERNAME=root
23+
TYPEORM_PORT=5432
24+
TYPEORM_USERNAME=username
2525
TYPEORM_PASSWORD=
2626
TYPEORM_DATABASE=my_database
2727
TYPEORM_SYNCHRONIZE=false
2828
TYPEORM_LOGGING=error
2929
TYPEORM_LOGGER=advanced-console
3030

31+
#
32+
# MySQL DATABASE
33+
#
34+
# TYPEORM_CONNECTION=mysql
35+
# TYPEORM_HOST=localhost
36+
# TYPEORM_PORT=3306
37+
# TYPEORM_USERNAME=root
38+
# TYPEORM_PASSWORD=root
39+
# TYPEORM_DATABASE=my_database
40+
# TYPEORM_SYNCHRONIZE=false
41+
# TYPEORM_LOGGING=error
42+
# TYPEORM_LOGGER=advanced-console
43+
3144
#
3245
# PATH STRUCTRUE
3346
#

package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@
8585
"nps": "^5.7.1",
8686
"nps-utils": "^1.5.0",
8787
"path": "^0.12.7",
88+
"pg": "^7.4.3",
8889
"reflect-metadata": "^0.1.10",
8990
"request": "^2.83.0",
9091
"routing-controllers": "^0.7.6",
@@ -97,7 +98,7 @@
9798
"typeorm": "^0.2.5",
9899
"typeorm-typedi-extensions": "^0.2.1",
99100
"typescript": "2.8.3",
100-
"uuid": "^3.1.0",
101+
"uuid": "^3.3.2",
101102
"winston": "^2.4.0"
102103
},
103104
"jest": {

src/api/models/Pet.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import { IsNotEmpty } from 'class-validator';
2-
import { Column, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn } from 'typeorm';
2+
import { Column, Entity, JoinColumn, ManyToOne, PrimaryColumn } from 'typeorm';
33

44
import { User } from './User';
55

66
@Entity()
77
export class Pet {
88

9-
@PrimaryGeneratedColumn('uuid')
9+
@PrimaryColumn('uuid')
1010
public id: string;
1111

1212
@IsNotEmpty()

src/api/models/User.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import * as bcrypt from 'bcrypt';
22
import { Exclude } from 'class-transformer';
33
import { IsNotEmpty } from 'class-validator';
4-
import { BeforeInsert, Column, Entity, OneToMany, PrimaryGeneratedColumn } from 'typeorm';
4+
import { BeforeInsert, Column, Entity, OneToMany, PrimaryColumn } from 'typeorm';
55

66
import { Pet } from './Pet';
77

@@ -27,7 +27,7 @@ export class User {
2727
});
2828
}
2929

30-
@PrimaryGeneratedColumn('uuid')
30+
@PrimaryColumn('uuid')
3131
public id: string;
3232

3333
@IsNotEmpty()

src/database/factories/PetFactory.ts

+2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import * as Faker from 'faker';
2+
import * as uuid from 'uuid';
23

34
import { Pet } from '../../../src/api/models/Pet';
45
import { define } from '../../lib/seed';
@@ -8,6 +9,7 @@ define(Pet, (faker: typeof Faker) => {
89
const name = faker.name.firstName(gender);
910

1011
const pet = new Pet();
12+
pet.id = uuid.v1();
1113
pet.name = name;
1214
pet.age = faker.random.number();
1315
return pet;

src/database/factories/UserFactory.ts

+2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import * as Faker from 'faker';
2+
import * as uuid from 'uuid';
23

34
import { User } from '../../../src/api/models/User';
45
import { define } from '../../lib/seed';
@@ -11,6 +12,7 @@ define(User, (faker: typeof Faker, settings: { role: string }) => {
1112
const username = faker.internet.userName(firstName, lastName);
1213

1314
const user = new User();
15+
user.id = uuid.v1();
1416
user.firstName = firstName;
1517
user.lastName = lastName;
1618
user.email = email;

src/database/seeds/CreateBruce.ts

+2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { Connection } from 'typeorm';
2+
import * as uuid from 'uuid';
23

34
import { User } from '../../../src/api/models/User';
45
import { Factory, Seed } from '../../lib/seed/types';
@@ -29,6 +30,7 @@ export class CreateBruce implements Seed {
2930
const em = connection.createEntityManager();
3031

3132
const user = new User();
33+
user.id = uuid.v1();
3234
user.firstName = 'Bruce';
3335
user.lastName = 'Wayne';
3436
user.email = 'bruce.wayne@wayne-enterprises.com';

yarn.lock

+76-1
Original file line numberDiff line numberDiff line change
@@ -833,6 +833,10 @@ buffer-from@^1.0.0:
833833
version "1.0.0"
834834
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.0.0.tgz#4cb8832d23612589b0406e9e2956c17f06fdf531"
835835

836+
buffer-writer@1.0.1:
837+
version "1.0.1"
838+
resolved "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-1.0.1.tgz#22a936901e3029afcd7547eb4487ceb697a3bf08"
839+
836840
buffer@^5.1.0:
837841
version "5.1.0"
838842
resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.1.0.tgz#c913e43678c7cb7c8bd16afbcddb6c5505e8f9fe"
@@ -3957,6 +3961,10 @@ package-json@^4.0.0:
39573961
registry-url "^3.0.3"
39583962
semver "^5.1.0"
39593963

3964+
packet-reader@0.3.1:
3965+
version "0.3.1"
3966+
resolved "https://registry.yarnpkg.com/packet-reader/-/packet-reader-0.3.1.tgz#cd62e60af8d7fea8a705ec4ff990871c46871f27"
3967+
39603968
parent-require@^1.0.0:
39613969
version "1.0.0"
39623970
resolved "https://registry.yarnpkg.com/parent-require/-/parent-require-1.0.0.tgz#746a167638083a860b0eef6732cb27ed46c32977"
@@ -4083,6 +4091,41 @@ performance-now@^2.1.0:
40834091
version "2.1.0"
40844092
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
40854093

4094+
pg-connection-string@0.1.3:
4095+
version "0.1.3"
4096+
resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-0.1.3.tgz#da1847b20940e42ee1492beaf65d49d91b245df7"
4097+
4098+
pg-pool@~2.0.3:
4099+
version "2.0.3"
4100+
resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-2.0.3.tgz#c022032c8949f312a4f91fb6409ce04076be3257"
4101+
4102+
pg-types@~1.12.1:
4103+
version "1.12.1"
4104+
resolved "https://registry.yarnpkg.com/pg-types/-/pg-types-1.12.1.tgz#d64087e3903b58ffaad279e7595c52208a14c3d2"
4105+
dependencies:
4106+
postgres-array "~1.0.0"
4107+
postgres-bytea "~1.0.0"
4108+
postgres-date "~1.0.0"
4109+
postgres-interval "^1.1.0"
4110+
4111+
pg@^7.4.3:
4112+
version "7.4.3"
4113+
resolved "https://registry.yarnpkg.com/pg/-/pg-7.4.3.tgz#f7b6f93f5340ecc2596afbb94a13e3d6b609834b"
4114+
dependencies:
4115+
buffer-writer "1.0.1"
4116+
packet-reader "0.3.1"
4117+
pg-connection-string "0.1.3"
4118+
pg-pool "~2.0.3"
4119+
pg-types "~1.12.1"
4120+
pgpass "1.x"
4121+
semver "4.3.2"
4122+
4123+
pgpass@1.x:
4124+
version "1.0.2"
4125+
resolved "https://registry.yarnpkg.com/pgpass/-/pgpass-1.0.2.tgz#2a7bb41b6065b67907e91da1b07c1847c877b306"
4126+
dependencies:
4127+
split "^1.0.0"
4128+
40864129
pidusage@^1.1.6:
40874130
version "1.2.0"
40884131
resolved "https://registry.yarnpkg.com/pidusage/-/pidusage-1.2.0.tgz#65ee96ace4e08a4cd3f9240996c85b367171ee92"
@@ -4123,6 +4166,24 @@ posix-character-classes@^0.1.0:
41234166
version "0.1.1"
41244167
resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
41254168

4169+
postgres-array@~1.0.0:
4170+
version "1.0.3"
4171+
resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-1.0.3.tgz#c561fc3b266b21451fc6555384f4986d78ec80f5"
4172+
4173+
postgres-bytea@~1.0.0:
4174+
version "1.0.0"
4175+
resolved "https://registry.yarnpkg.com/postgres-bytea/-/postgres-bytea-1.0.0.tgz#027b533c0aa890e26d172d47cf9ccecc521acd35"
4176+
4177+
postgres-date@~1.0.0:
4178+
version "1.0.3"
4179+
resolved "https://registry.yarnpkg.com/postgres-date/-/postgres-date-1.0.3.tgz#e2d89702efdb258ff9d9cee0fe91bd06975257a8"
4180+
4181+
postgres-interval@^1.1.0:
4182+
version "1.1.2"
4183+
resolved "https://registry.yarnpkg.com/postgres-interval/-/postgres-interval-1.1.2.tgz#bf71ff902635f21cb241a013fc421d81d1db15a9"
4184+
dependencies:
4185+
xtend "^4.0.0"
4186+
41264187
prefix-matches@^1.0.1:
41274188
version "1.0.1"
41284189
resolved "https://registry.yarnpkg.com/prefix-matches/-/prefix-matches-1.0.1.tgz#02e34ce27f33af48e68bbfce2aac2a004bc2b76c"
@@ -4571,6 +4632,10 @@ semver-diff@^2.0.0:
45714632
version "5.5.0"
45724633
resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
45734634

4635+
semver@4.3.2:
4636+
version "4.3.2"
4637+
resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.2.tgz#c7a07158a80bedd052355b770d82d6640f803be7"
4638+
45744639
send@0.16.2:
45754640
version "0.16.2"
45764641
resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1"
@@ -4857,6 +4922,12 @@ split@0.3:
48574922
dependencies:
48584923
through "2"
48594924

4925+
split@^1.0.0:
4926+
version "1.0.1"
4927+
resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9"
4928+
dependencies:
4929+
through "2"
4930+
48604931
sprintf-js@~1.0.2:
48614932
version "1.0.3"
48624933
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
@@ -5477,6 +5548,10 @@ uuid@^3.0.0, uuid@^3.1.0:
54775548
version "3.2.1"
54785549
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14"
54795550

5551+
uuid@^3.3.2:
5552+
version "3.3.2"
5553+
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131"
5554+
54805555
uws@~0.14.4:
54815556
version "0.14.5"
54825557
resolved "https://registry.yarnpkg.com/uws/-/uws-0.14.5.tgz#67aaf33c46b2a587a5f6666d00f7691328f149dc"
@@ -5655,7 +5730,7 @@ xmlhttprequest-ssl@~1.5.4:
56555730
version "1.5.4"
56565731
resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.4.tgz#04f560915724b389088715cc0ed7813e9677bf57"
56575732

5658-
xtend@~4.0.1:
5733+
xtend@^4.0.0, xtend@~4.0.1:
56595734
version "4.0.1"
56605735
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
56615736

0 commit comments

Comments
 (0)