From 4ce5fce0d9eae7ce1507a3736f5b163a329ebe0f Mon Sep 17 00:00:00 2001 From: foefl Date: Mon, 8 Jun 2026 15:41:59 +0200 Subject: [PATCH] add Docker OracleDB for test purposes --- docker-compose.yml | 24 ++++++++++++++++++++++++ oracle/init-scripts/01_init.sql | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 docker-compose.yml create mode 100644 oracle/init-scripts/01_init.sql diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..294a6c4 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,24 @@ +# cleanup: docker compose down -v + +services: + oracle-db: + # "faststart" tag loads pre-configured DB + # starts in seconds, not minutes! + image: gvenzl/oracle-free:23-slim-faststart + container_name: oracle_dev_db + ports: + - "1521:1521" + environment: + # passwords for system admins (SYS, SYSTEM) + - ORACLE_PASSWORD=Master_Admin + # user/schema at first start + - APP_USER=WATTANA + - APP_USER_PASSWORD=MyWattanaPassword123 + volumes: + - oracle_data:/opt/oracle/oradata + # mounts local folder SQL initialisation scripts + - ./oracle/init-scripts:/container-entrypoint-startdb.d + restart: unless-stopped + +volumes: + oracle_data: \ No newline at end of file diff --git a/oracle/init-scripts/01_init.sql b/oracle/init-scripts/01_init.sql new file mode 100644 index 0000000..97739b9 --- /dev/null +++ b/oracle/init-scripts/01_init.sql @@ -0,0 +1,32 @@ +-- change to default generated pluggable database (PDB) +ALTER SESSION SET CONTAINER = FREEPDB1; + +-- create table directly in new user's schema +CREATE TABLE WATTANA.KPI_PRODUKTIONSAUFTRAEGE ( + ID NUMBER(1) PRIMARY KEY, + AKTUALISIERT_AM TIMESTAMP, + MITTLERE_ANZAHL_TAGE_LIEFERTERMINUNTERSCHREITUNG NUMBER(10), + MITTLERE_ANZAHL_TAGE_LIEFERTERMINUEBERSCHREITUNG NUMBER(10), + STANDARDABWEICHUNG_TAGE_LIEFERTERMINABWEICHUNG NUMBER(10,4), + MITTLERE_ANZAHL_ANPASSUNGEN_LIEFERTERMIN NUMBER(10), + MITTLERE_ABSTAENDE_ZWISCHEN_MELDUNGEN NUMBER(10), + MITTLERE_DURCHLAUFZEIT_ANZAHL_TAGE NUMBER(10), + CONSTRAINT CHK_SINGLE_ROW CHECK (ID = 1) +); + +CREATE TABLE WATTANA.KPI_KONFEKTIONAERE ( + ID NUMBER PRIMARY KEY, + AKTUALISIERT_AM TIMESTAMP, + KONFEKTIONAER VARCHAR2(200), + QUOTE_ERSTBESTAETIGUNG NUMBER(7,4), + PROZENT_LIEFERTREUE NUMBER(7,4), + ANTEIL_PROZENT_LIEFERTERMINUNTERSCHREITUNG NUMBER(7,4), + ANTEIL_PROZENT_LIEFERTERMINUEBERSCHREITUNG NUMBER(7,4), + MITTLERE_ANZAHL_TAGE_LIEFERTERMINUNTERSCHREITUNG NUMBER(10), + MITTLERE_ANZAHL_TAGE_LIEFERTERMINUEBERSCHREITUNG NUMBER(10), + STANDARDABWEICHUNG_TAGE_LIEFERTERMINABWEICHUNG NUMBER(10,4), + MITTLERE_ANZAHL_ANPASSUNGEN_LIEFERTERMIN NUMBER(10), + MITTLERE_ABSTAENDE_ZWISCHEN_MELDUNGEN NUMBER(10), + MITTLERE_DURCHLAUFZEIT_ANZAHL_TAGE NUMBER(10), + MITTLERER_QUALITAETSSCORE_PSM NUMBER(5,4) +);