server and ERD
Former-commit-id: b069d94d494a1eeaa180e237608b466004cfb158
This commit is contained in:
4
.env
4
.env
@@ -9,7 +9,7 @@ LOG_PATH=logs.log
|
|||||||
|
|
||||||
DATABASE_HOST=localhost
|
DATABASE_HOST=localhost
|
||||||
DATABASE_PORT=5432
|
DATABASE_PORT=5432
|
||||||
DATABASE_DB=LegoLog
|
DATABASE_DB=legolog
|
||||||
DATABASE_DB_DEV=LegoLogDev
|
DATABASE_DB_DEV=legologdev
|
||||||
DATABASE_USER=postgres
|
DATABASE_USER=postgres
|
||||||
DATABASE_PASSWORD=postgres
|
DATABASE_PASSWORD=postgres
|
||||||
|
|||||||
111
db/.sql
Normal file
111
db/.sql
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
CREATE TABLE "public".catagory (
|
||||||
|
id integer NOT NULL ,
|
||||||
|
name varchar(100) ,
|
||||||
|
CONSTRAINT catagory_pkey PRIMARY KEY ( id )
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "public".colour_type (
|
||||||
|
id integer NOT NULL ,
|
||||||
|
name varchar(64) ,
|
||||||
|
CONSTRAINT colour_type_pkey PRIMARY KEY ( id )
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "public".lego_brick_colour (
|
||||||
|
id integer NOT NULL ,
|
||||||
|
name varchar(100) ,
|
||||||
|
hexrgb varchar(6) NOT NULL ,
|
||||||
|
col_type integer ,
|
||||||
|
CONSTRAINT lego_brick_colour_pkey PRIMARY KEY ( id )
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "public".lego_set (
|
||||||
|
id varchar(50) NOT NULL ,
|
||||||
|
catagory integer ,
|
||||||
|
name varchar(100) ,
|
||||||
|
date_released timestamp ,
|
||||||
|
dimensions_x numeric ,
|
||||||
|
dimensions_y numeric ,
|
||||||
|
dimensions_z numeric ,
|
||||||
|
CONSTRAINT lego_set_pkey PRIMARY KEY ( id )
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "public".lego_set_inventory (
|
||||||
|
id varchar(50) NOT NULL ,
|
||||||
|
stock integer NOT NULL ,
|
||||||
|
price numeric NOT NULL ,
|
||||||
|
demand_factor numeric NOT NULL ,
|
||||||
|
backorder boolean ,
|
||||||
|
backorder_stock integer ,
|
||||||
|
last_updated timestamp NOT NULL ,
|
||||||
|
CONSTRAINT lego_set_inventory_pkey PRIMARY KEY ( id )
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "public".lego_set_price_history (
|
||||||
|
id integer NOT NULL ,
|
||||||
|
set_id varchar(50) NOT NULL ,
|
||||||
|
price_point numeric NOT NULL ,
|
||||||
|
date_point timestamp NOT NULL ,
|
||||||
|
CONSTRAINT lego_set_price_history_pkey PRIMARY KEY ( id )
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "public".lego_brick (
|
||||||
|
id varchar(50) NOT NULL ,
|
||||||
|
name varchar NOT NULL ,
|
||||||
|
colour integer ,
|
||||||
|
catagory integer ,
|
||||||
|
weight numeric ,
|
||||||
|
dimensions_x integer ,
|
||||||
|
dimensions_y integer ,
|
||||||
|
dimensions_z integer ,
|
||||||
|
date_from timestamp ,
|
||||||
|
date_to timestamp ,
|
||||||
|
CONSTRAINT lego_brick_pkey PRIMARY KEY ( id )
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "public".lego_brick_inventory (
|
||||||
|
id varchar(50) NOT NULL ,
|
||||||
|
stock integer NOT NULL ,
|
||||||
|
price numeric NOT NULL ,
|
||||||
|
demand_factor numeric NOT NULL ,
|
||||||
|
backorder boolean ,
|
||||||
|
backorder_stock integer ,
|
||||||
|
last_updated timestamp NOT NULL ,
|
||||||
|
CONSTRAINT lego_brick_inventory_pkey PRIMARY KEY ( id )
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "public".lego_brick_price_history (
|
||||||
|
id integer NOT NULL ,
|
||||||
|
brick_id varchar(50) NOT NULL ,
|
||||||
|
price_point numeric NOT NULL ,
|
||||||
|
date_point timestamp NOT NULL ,
|
||||||
|
CONSTRAINT lego_brick_price_history_pkey PRIMARY KEY ( id )
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "public".set_descriptor (
|
||||||
|
id varchar(50) NOT NULL ,
|
||||||
|
set_id varchar(50) NOT NULL ,
|
||||||
|
brick_id varchar(50) NOT NULL ,
|
||||||
|
amount integer ,
|
||||||
|
CONSTRAINT set_descriptor_pkey PRIMARY KEY ( id )
|
||||||
|
);
|
||||||
|
|
||||||
|
ALTER TABLE "public".lego_brick ADD CONSTRAINT lego_brick_catagory_fkey FOREIGN KEY ( catagory ) REFERENCES "public".catagory( id );
|
||||||
|
|
||||||
|
ALTER TABLE "public".lego_brick ADD CONSTRAINT lego_brick_colour_fkey FOREIGN KEY ( colour ) REFERENCES "public".lego_brick_colour( id );
|
||||||
|
|
||||||
|
ALTER TABLE "public".lego_brick_colour ADD CONSTRAINT lego_brick_colour_col_type_fkey FOREIGN KEY ( col_type ) REFERENCES "public".colour_type( id );
|
||||||
|
|
||||||
|
ALTER TABLE "public".lego_brick_inventory ADD CONSTRAINT lego_brick_inventory_id_fkey FOREIGN KEY ( id ) REFERENCES "public".lego_brick( id );
|
||||||
|
|
||||||
|
ALTER TABLE "public".lego_brick_price_history ADD CONSTRAINT lego_brick_price_history_brick_id_fkey FOREIGN KEY ( brick_id ) REFERENCES "public".lego_brick( id );
|
||||||
|
|
||||||
|
ALTER TABLE "public".lego_set ADD CONSTRAINT lego_set_catagory_fkey FOREIGN KEY ( catagory ) REFERENCES "public".catagory( id );
|
||||||
|
|
||||||
|
ALTER TABLE "public".lego_set_inventory ADD CONSTRAINT lego_set_inventory_id_fkey FOREIGN KEY ( id ) REFERENCES "public".lego_set( id );
|
||||||
|
|
||||||
|
ALTER TABLE "public".lego_set_price_history ADD CONSTRAINT lego_set_price_history_set_id_fkey FOREIGN KEY ( set_id ) REFERENCES "public".lego_set( id );
|
||||||
|
|
||||||
|
ALTER TABLE "public".set_descriptor ADD CONSTRAINT set_descriptor_brick_id_fkey FOREIGN KEY ( brick_id ) REFERENCES "public".lego_brick( id );
|
||||||
|
|
||||||
|
ALTER TABLE "public".set_descriptor ADD CONSTRAINT set_descriptor_set_id_fkey FOREIGN KEY ( set_id ) REFERENCES "public".lego_set( id );
|
||||||
|
|
||||||
BIN
db/ERD.png
Normal file
BIN
db/ERD.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 76 KiB |
111
db/schema.sql
111
db/schema.sql
@@ -1,91 +1,92 @@
|
|||||||
CREATE TABLE IF NOT EXISTS LegoBrickPriceHistory (
|
CREATE TABLE IF NOT EXISTS catagory (
|
||||||
id INT NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
||||||
brick_id INT NOT NULL,
|
|
||||||
price_point DECIMAL NOT NULL,
|
|
||||||
date_point DATETIME NOT NULL,
|
|
||||||
FOREIGN KEY ( id ) REFERENCES LegoBrick( id )
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS LegoSetPriceHistory (
|
|
||||||
id INT NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
||||||
set_id INT NOT NULL,
|
|
||||||
price_point DECIMAL NOT NULL,
|
|
||||||
date_point DATETIME NOT NULL,
|
|
||||||
FOREIGN KEY ( id ) REFERENCES LegoSet( id )
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS LegoBrickInventory (
|
|
||||||
id VARCHAR (50) NOT NULL PRIMARY KEY,
|
|
||||||
stock INT NOT NULL,
|
|
||||||
price DECIMAL NOT NULL,
|
|
||||||
demand_factor DECIMAL NOT NULL,
|
|
||||||
backorder BOOLEAN,
|
|
||||||
backorder_stock INT,
|
|
||||||
last_updated DATETIME NOT NULL
|
|
||||||
FOREIGN KEY ( id ) REFERENCES LegoBrick( id )
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS LegoSetInventory (
|
|
||||||
id VARCHAR (50) NOT NULL PRIMARY KEY,
|
|
||||||
stock INT NOT NULL,
|
|
||||||
price DECIMAL NOT NULL,
|
|
||||||
demand_factor DECIMAL NOT NULL,
|
|
||||||
backorder BOOLEAN,
|
|
||||||
backorder_stock INT,
|
|
||||||
last_updated DATETIME NOT NULL
|
|
||||||
FOREIGN KEY ( id ) REFERENCES LegoSet( id )
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS Catagory (
|
|
||||||
id INT NOT NULL PRIMARY KEY,
|
id INT NOT NULL PRIMARY KEY,
|
||||||
name VARCHAR (100)
|
name VARCHAR (100)
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS ColourType (
|
CREATE TABLE IF NOT EXISTS colour_type (
|
||||||
id INT NOT NULL PRIMARY KEY,
|
id INT NOT NULL PRIMARY KEY,
|
||||||
name VARCHAR (64)
|
name VARCHAR (64)
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS LegoBrickColour (
|
CREATE TABLE IF NOT EXISTS lego_brick_colour (
|
||||||
id INT NOT NULL PRIMARY KEY,
|
id INT NOT NULL PRIMARY KEY,
|
||||||
name VARCHAR (100),
|
name VARCHAR (100),
|
||||||
hexrgb VARCHAR (6) NOT NULL,
|
hexrgb VARCHAR (6) NOT NULL,
|
||||||
col_type INT,
|
col_type INT,
|
||||||
FOREIGN KEY ( col_type ) REFERENCES ColourType( id )
|
FOREIGN KEY ( col_type ) REFERENCES colour_type( id )
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS LegoSet (
|
CREATE TABLE IF NOT EXISTS lego_set (
|
||||||
id VARCHAR (50) NOT NULL PRIMARY KEY,
|
id VARCHAR (50) NOT NULL PRIMARY KEY,
|
||||||
catagory INT,
|
catagory INT,
|
||||||
name VARCHAR (100),
|
name VARCHAR (100),
|
||||||
date_released DATETIME,
|
date_released TIMESTAMP WITHOUT TIME ZONE,
|
||||||
dimensions_x DECIMAL,
|
dimensions_x DECIMAL,
|
||||||
dimensions_y DECIMAL,
|
dimensions_y DECIMAL,
|
||||||
dimensions_z DECIMAL,
|
dimensions_z DECIMAL,
|
||||||
FOREIGN KEY ( catagory ) REFERENCES Catagory( id ),
|
FOREIGN KEY ( catagory ) REFERENCES catagory( id )
|
||||||
FOREIGN KEY ( id ) REFERENCES LegoSetInventory( id )
|
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS LegoBrick (
|
CREATE TABLE IF NOT EXISTS lego_brick (
|
||||||
id VARCHAR (50) NOT NULL PRIMARY KEY,
|
id VARCHAR (50) NOT NULL PRIMARY KEY,
|
||||||
name TEXT(100) NOT NULL,
|
name VARCHAR NOT NULL,
|
||||||
colour INT,
|
colour INT,
|
||||||
catagory INT,
|
catagory INT,
|
||||||
weight DECIMAL,
|
weight DECIMAL,
|
||||||
dimensions_x INT,
|
dimensions_x INT,
|
||||||
dimensions_y INT,
|
dimensions_y INT,
|
||||||
dimensions_z INT,
|
dimensions_z INT,
|
||||||
date_from DATETIME,
|
date_from TIMESTAMP WITHOUT TIME ZONE,
|
||||||
date_to DATETIME,
|
date_to TIMESTAMP WITHOUT TIME ZONE,
|
||||||
FOREIGN KEY ( colour ) REFERENCES LegoBrickColour( id ),
|
FOREIGN KEY ( colour ) REFERENCES lego_brick_colour( id ),
|
||||||
FOREIGN KEY ( catagory ) REFERENCES Catagory( id )
|
FOREIGN KEY ( catagory ) REFERENCES catagory( id )
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS SetDescriptor (
|
CREATE TABLE IF NOT EXISTS lego_brick_price_history (
|
||||||
|
id INT NOT NULL PRIMARY KEY,
|
||||||
|
brick_id VARCHAR (50) NOT NULL,
|
||||||
|
price_point DECIMAL NOT NULL,
|
||||||
|
date_point TIMESTAMP WITHOUT TIME ZONE NOT NULL,
|
||||||
|
FOREIGN KEY ( brick_id ) REFERENCES lego_brick( id )
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS lego_set_price_history (
|
||||||
|
id INT NOT NULL PRIMARY KEY,
|
||||||
|
set_id VARCHAR (50) NOT NULL,
|
||||||
|
price_point DECIMAL NOT NULL,
|
||||||
|
date_point TIMESTAMP WITHOUT TIME ZONE NOT NULL,
|
||||||
|
FOREIGN KEY ( set_id ) REFERENCES lego_set( id )
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS lego_brick_inventory (
|
||||||
|
id VARCHAR (50) NOT NULL,
|
||||||
|
stock INT NOT NULL,
|
||||||
|
price DECIMAL NOT NULL,
|
||||||
|
demand_factor DECIMAL NOT NULL,
|
||||||
|
backorder BOOLEAN,
|
||||||
|
backorder_stock INT,
|
||||||
|
last_updated TIMESTAMP WITHOUT TIME ZONE NOT NULL,
|
||||||
|
PRIMARY KEY ( id ),
|
||||||
|
FOREIGN KEY ( id ) REFERENCES lego_brick( id )
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS lego_set_inventory (
|
||||||
|
id VARCHAR (50) NOT NULL,
|
||||||
|
stock INT NOT NULL,
|
||||||
|
price DECIMAL NOT NULL,
|
||||||
|
demand_factor DECIMAL NOT NULL,
|
||||||
|
backorder BOOLEAN,
|
||||||
|
backorder_stock INT,
|
||||||
|
last_updated TIMESTAMP WITHOUT TIME ZONE NOT NULL,
|
||||||
|
PRIMARY KEY ( id ),
|
||||||
|
FOREIGN KEY ( id ) REFERENCES lego_set( id )
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS set_descriptor (
|
||||||
id VARCHAR (50) NOT NULL PRIMARY KEY,
|
id VARCHAR (50) NOT NULL PRIMARY KEY,
|
||||||
set_id VARCHAR (50) NOT NULL,
|
set_id VARCHAR (50) NOT NULL,
|
||||||
brick_id VARCHAR (50) NOT NULL,
|
brick_id VARCHAR (50) NOT NULL,
|
||||||
amount INT,
|
amount INT,
|
||||||
FOREIGN KEY ( set_id ) REFERENCES LegoSet( id ),
|
FOREIGN KEY ( set_id ) REFERENCES lego_set( id ),
|
||||||
FOREIGN KEY ( brick_id ) REFERENCES LegoBrick( id )
|
FOREIGN KEY ( brick_id ) REFERENCES lego_brick( id )
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
# DotEnv
|
# DotEnv
|
||||||
|
|
||||||
|
Items suffixed with `_DEV` will automatically replace the non-dev
|
||||||
|
version of the same item internally
|
||||||
|
|
||||||
```config
|
```config
|
||||||
NODE_ENV=dev/prod
|
NODE_ENV=dev/prod
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ async function main() {
|
|||||||
Logger.init();
|
Logger.init();
|
||||||
Config.load();
|
Config.load();
|
||||||
|
|
||||||
Server.load();
|
|
||||||
Server.listen(process.env.PORT);
|
Server.listen(process.env.PORT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,5 @@ function listen(port) {
|
|||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
app,
|
app,
|
||||||
load,
|
|
||||||
listen
|
listen
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user