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_PORT=5432
|
||||
DATABASE_DB=LegoLog
|
||||
DATABASE_DB_DEV=LegoLogDev
|
||||
DATABASE_DB=legolog
|
||||
DATABASE_DB_DEV=legologdev
|
||||
DATABASE_USER=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 (
|
||||
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 (
|
||||
CREATE TABLE IF NOT EXISTS catagory (
|
||||
id INT NOT NULL PRIMARY KEY,
|
||||
name VARCHAR (100)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS ColourType (
|
||||
CREATE TABLE IF NOT EXISTS colour_type (
|
||||
id INT NOT NULL PRIMARY KEY,
|
||||
name VARCHAR (64)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS LegoBrickColour (
|
||||
CREATE TABLE IF NOT EXISTS lego_brick_colour (
|
||||
id INT NOT NULL PRIMARY KEY,
|
||||
name VARCHAR (100),
|
||||
hexrgb VARCHAR (6) NOT NULL,
|
||||
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,
|
||||
catagory INT,
|
||||
name VARCHAR (100),
|
||||
date_released DATETIME,
|
||||
date_released TIMESTAMP WITHOUT TIME ZONE,
|
||||
dimensions_x DECIMAL,
|
||||
dimensions_y DECIMAL,
|
||||
dimensions_z DECIMAL,
|
||||
FOREIGN KEY ( catagory ) REFERENCES Catagory( id ),
|
||||
FOREIGN KEY ( id ) REFERENCES LegoSetInventory( id )
|
||||
FOREIGN KEY ( catagory ) REFERENCES catagory( id )
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS LegoBrick (
|
||||
CREATE TABLE IF NOT EXISTS lego_brick (
|
||||
id VARCHAR (50) NOT NULL PRIMARY KEY,
|
||||
name TEXT(100) NOT NULL,
|
||||
name VARCHAR NOT NULL,
|
||||
colour INT,
|
||||
catagory INT,
|
||||
weight DECIMAL,
|
||||
dimensions_x INT,
|
||||
dimensions_y INT,
|
||||
dimensions_z INT,
|
||||
date_from DATETIME,
|
||||
date_to DATETIME,
|
||||
FOREIGN KEY ( colour ) REFERENCES LegoBrickColour( id ),
|
||||
FOREIGN KEY ( catagory ) REFERENCES Catagory( id )
|
||||
date_from TIMESTAMP WITHOUT TIME ZONE,
|
||||
date_to TIMESTAMP WITHOUT TIME ZONE,
|
||||
FOREIGN KEY ( colour ) REFERENCES lego_brick_colour( 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,
|
||||
set_id VARCHAR (50) NOT NULL,
|
||||
brick_id VARCHAR (50) NOT NULL,
|
||||
amount INT,
|
||||
FOREIGN KEY ( set_id ) REFERENCES LegoSet( id ),
|
||||
FOREIGN KEY ( brick_id ) REFERENCES LegoBrick( id )
|
||||
FOREIGN KEY ( set_id ) REFERENCES lego_set( id ),
|
||||
FOREIGN KEY ( brick_id ) REFERENCES lego_brick( id )
|
||||
);
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
# DotEnv
|
||||
|
||||
Items suffixed with `_DEV` will automatically replace the non-dev
|
||||
version of the same item internally
|
||||
|
||||
```config
|
||||
NODE_ENV=dev/prod
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@ async function main() {
|
||||
Logger.init();
|
||||
Config.load();
|
||||
|
||||
Server.load();
|
||||
Server.listen(process.env.PORT);
|
||||
}
|
||||
|
||||
|
||||
@@ -21,6 +21,5 @@ function listen(port) {
|
||||
|
||||
module.exports = {
|
||||
app,
|
||||
load,
|
||||
listen
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user