added A PostgressDB via Docker

docker_db
Jukoga 2024-11-23 18:31:04 +01:00
parent ff3fdab4e7
commit d75518d1ff
3 changed files with 80 additions and 0 deletions

13
PostgressDB/Dockerfile Normal file
View File

@ -0,0 +1,13 @@
# Use the official PostgreSQL image as the base image
FROM postgres:latest
# Set environment variables for PostgreSQL
ENV POSTGRES_DB=mydatabase
ENV POSTGRES_USER=myuser
ENV POSTGRES_PASSWORD=mypassword
# Copy initialization scripts into the Docker image
COPY init.sql /docker-entrypoint-initdb.d/
# Expose the PostgreSQL port
EXPOSE 5432

View File

@ -0,0 +1,12 @@
services:
db:
build: . --no-cache
container_name: Beyond_Heroes_War_DB
ports:
- "6732:5432"
environment:
POSTGRES_DB: BHDB
POSTGRES_USER: APIUser
POSTGRES_PASSWORD: mypassword
volumes:
- ./init.sql:/docker-entrypoint-initdb.d/init.sql

55
PostgressDB/init.sql Normal file
View File

@ -0,0 +1,55 @@
-- Create the AssaultTroop table
CREATE TABLE AssaultTroop (
Id SERIAL PRIMARY KEY,
ATId INT,
Name VARCHAR(255) NOT NULL,
Faction INT NOT NULL, -- 0 - Neutral, 1 - Allies, 2 - Axis
Type INT NOT NULL, -- 1 - Infantry, 4 - Armor
Province INT NOT NULL, -- -1 - Not deployed, Province IDs
Orders JSONB NOT NULL, -- JSON String
Owner INT NOT NULL -- Owner ID
);
INSERT INTO AssaultTroop (Id, Name, Faction, Type, Province, Orders, Owner) VALUES
(1, 'First Infantry Division', 2, 1, 0, '{"Dep": [], "Mov": []}', 1),
(2, 'First Infantry Division', 1, 1, 0, '{"Dep": [], "Mov": []}', 2),
(3, 'Second Infantry Division', 1, 1, 0, '{"Dep": [], "Mov": []}', 2),
(4, 'Third Infantry Division', 1, 1, 0, '{"Dep": [], "Mov": []}', 2),
(5, 'Cheeki Breeki Boys', 2, 1, 0, '{"Dep": [], "Mov": []}', 3),
(6, 'Hitlers Men', 2, 1, 1, '{"Dep": [], "Mov": []}', 4),
(7, 'Hitlers Men', 2, 1, 1, '{"Dep": [], "Mov": []}', 4),
(8, 'Hitlers Men', 2, 1, 1, '{"Dep": [], "Mov": []}', 4),
(9, 'Cheeki Breeki Boys', 2, 1, 1, '{"Dep": [], "Mov": []}', 3),
(10, 'Hitlers Men', 2, 1, 0, '{"Dep": [], "Mov": []}', 4),
(11, 'Fifth Infantry Division', 1, 1, -1, '{"Dep": [], "Mov": []}', 5),
(12, 'Fifth Infantry Division', 1, 1, -1, '{"Dep": [], "Mov": []}', 5),
(13, 'First Armor Division', 1, 4, 2, '{"Dep": [], "Mov": []}', 2),
(14, 'Second Armor Division', 1, 4, 2, '{"Dep": [], "Mov": []}', 2),
(15, 'Cheeki Breeki Tonks', 2, 4, 2, '{"Dep": [], "Mov": []}', 3);
-- Create the Province table
CREATE TABLE Province (
Id SERIAL PRIMARY KEY,
ProvinceId INT,
Name VARCHAR(255) NOT NULL,
Faction INT NOT NULL, -- 0 - Neutral, 1 - Allies, 2 - Axis
Multiplier DECIMAL(3, 2) NOT NULL, -- 0-1
ATs JSONB NOT NULL, -- JSON String
State INT NOT NULL -- 0 - Peace, 1 - War
);
INSERT INTO Province (Id, Name, Faction, Multiplier, ATs, State) VALUES
(0, 'Hessen', 2, 1.00, '{"Allies": [2, 3, 4], "Axis": [1, 5, 9, 10]}', 1),
(1, 'Thuringen', 2, 1.00, '{"Allies": [], "Axis": [6, 7, 8]}', 0),
(2, 'Rheinland-Pfalz', 1, 1.00, '{"Allies": [13, 14], "Axis": [15]}', 1),
(4, 'Baden-Wurttemberg', 1, 1.00, '{"Allies": [17, 19], "Axis": []}', 0),
(3, 'Saarland', 1, 1.00, '{"Allies": [16, 17, 18], "Axis": []}', 0),
(5, 'Bayern', 1, 1.00, '{"Allies": [20, 21], "Axis": []}', 0),
(6, 'Sachsen', 1, 1.00, '{"Allies": [23], "Axis": []}', 0),
(7, 'Brandenburg', 2, 1.00, '{"Allies": [], "Axis": [25, 26, 27, 28]}', 0),
(8, 'Berlin', 2, 1.00, '{"Allies": [], "Axis": [29, 30, 31]}', 0),
(9, 'Schleswig-Holstein', 2, 1.00, '{"Allies": [], "Axis": [33]}', 0),
(10, 'Hamburg', 2, 1.00, '{"Allies": [], "Axis": [34]}', 0),
(11, 'Niedersachsen', 2, 1.00, '{"Allies": [], "Axis": [35]}', 0),
(12, 'Nordreihn-Westfalen', 1, 1.00, '{"Allies": [36, 37], "Axis": []}', 0);