Compare commits

..

2 Commits

Author SHA1 Message Date
Zombori Péter
eab1e413c5 Readme Update
Módosítottam a readme-t szövegesebbre és látványosabbra
2025-10-08 18:51:35 +02:00
Zombori Péter
74b11ffc35 Adatbázis Séma
Kitaláltam egy egyszerű adatbázis sémát, és az init sql-be feltöltöttem
2025-10-08 18:51:02 +02:00
4 changed files with 135 additions and 15 deletions

15
.gitignore vendored
View File

@@ -1,14 +1 @@
# ---> VirtualEnv
# Virtualenv
# http://iamzed.com/2009/05/07/a-primer-on-virtualenv/
.Python
[Bb]in
[Ii]nclude
[Ll]ib
[Ll]ib64
[Ll]ocal
[Ss]cripts
pyvenv.cfg
.venv
pip-selfcheck.json
db_data

102
README.md
View File

@@ -1,3 +1,103 @@
# DB
Az adatbázis konfiguráció, ami tárolja a webalkalmazás adatait
Konténerizált MariaDB engine, ami tárolja a Telefonkönyv Webalkalmazás adatait.
## Táblák:
### users
| **id** | **uname** | **pw** | **admin** | **note**
| --- | --- | --- | --- | --- |
| *int* | *varchar* | *varchar* | *tiny int - bool* | *text* |
| *pk, ai* | *not null* | *not null* | *not null, default false* | *null* |
### contacts
| **id** | **name** | **phone** | **address** | **note**
| --- | --- | --- | --- | --- |
| *int* | *varchar* | *varchar* | *varchar* | *text* |
| *pk, ai* | *not null* | *not null* | *not null* | *null* |
## Futtatás:
Az adatbázis konténert a `docker-compose.yml` file írja le. Futtatása a következő:
### Indítás
```bash
docker compose up -d
```
> *Bizonyos operációs rendszereken `docker-compose up -d`*
Logokkal való indításhoz a `docker compose logs` használható, folyamatos debug logokért a következő indítóparancs használatos Windows-on:
```bash
docker compose up -d ; docker compose logs -f
```
> Linux alatt `docker compose up -d && docker compose logs -f`
> Vagy `docker-compose up -d && docker-compose logs -f`
### Leállítás
A konténer és hozzá tartozó network leállítása a következővel érhető el:
```bash
docker compose down
```
> *Bizonyos operációs rendszereken `docker-compose down`*
### Linux - *sudo* probléma
Néha Linux alatt - verziótól függően - gyakori probléma az, hogy minden docker és docker compose process *root* alatt fut. Ezért ilyenkör a következő parancsokkat érdemes használni:
```bash
# Indítás:
sudo docker compose up -d
# Logok:
sudo docker compose logs -f
# Indítás - logokkal:
sudo docker compose up -d && sudo docker compose logs -f
# Leállítás:
sudo docker compose down
```
Illetve a *Docker Compose* verziójától függően ugyan ez vonatkozik:
```bash
# Indítás:
sudo docker-compose up -d
# Logok:
sudo docker-compose logs -f
# Indítás - logokkal:
sudo docker-compose up -d && sudo docker-compose logs -f
# Leállítás:
sudo docker-compose down
```
### Windows
A Docker Dekstopot telepítve egyből lejön a `docker compose` parancs, amit cmd-ből, vagy PowerShell-ből tudunk használni, ugyan úgy, mint Linux alatt.
> #### Fontos!
> Fontos, hogy a cmd-t és a PowerShellt is ***adminisztrátorként*** futtassuk!
## Kapcsolódás
A kapcsolódás a szokásos MariaDB SQL portokon működik a következő módon:
- hostname: `localhost` vagy `127.0.0.1`
- port: `3306`
- database: `telefonkonyv`
- user: `appuser`
- password: `apppass`
> Az adatbázis *root* felhasználójának a jelszava: `rootpw`, De ezek az adatok is mind konfigurálhatóak a `docker-compose.yml`-ben

18
docker-compose.yml Normal file
View File

@@ -0,0 +1,18 @@
services:
mariadb:
image: mariadb:11
container_name: telefonkonyv-db
restart: always
environment:
MARIADB_ROOT_PASSWORD: rootpw
MARIADB_DATABASE: telefonkonyv
MARIADB_USER: appuser
MARIADB_PASSWORD: apppass
ports:
- "3306:3306"
volumes:
- ./db_data:/var/lib/mysql
- ./init:/docker-entrypoint-initdb.d
volumes:
db_data:

15
init/01_init.sql Normal file
View File

@@ -0,0 +1,15 @@
CREATE TABLE IF NOT EXISTS users (
id INT AUTO_INCREMENT PRIMARY KEY,
uname VARCHAR(255) NOT NULL,
pw VARCHAR(255) NOT NULL,
admin BOOLEAN DEFAULT FALSE,
note TEXT
);
CREATE TABLE IF NOT EXISTS contacts (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
phone VARCHAR(50) NOT NULL,
address VARCHAR(255),
note TEXT
);