Implement postgresql database handling into backend and basic init handling code, also include dev database docker compose file
This commit is contained in:
parent
2871e5fc65
commit
6f8e0e02bb
|
|
@ -1,2 +1,3 @@
|
||||||
.venv
|
.venv
|
||||||
__pycache__
|
__pycache__
|
||||||
|
postgres-data
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
blorg-dev-db:
|
||||||
|
image: postgres:16-alpine
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- ./postgres-data:/var/lib/postgresql/data
|
||||||
|
environment:
|
||||||
|
POSTGRES_USER: dev
|
||||||
|
POSTGRES_PASSWORD: dev
|
||||||
|
POSTGRES_DB: blorgdb
|
||||||
|
networks:
|
||||||
|
blorg-dev-db-network:
|
||||||
|
ipv4_address: 172.20.0.10
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpus: '0.10'
|
||||||
|
memory: 128M
|
||||||
|
|
||||||
|
networks:
|
||||||
|
blorg-dev-db-network:
|
||||||
|
driver: bridge
|
||||||
|
ipam:
|
||||||
|
config:
|
||||||
|
- subnet: 172.20.0.0/16
|
||||||
|
|
||||||
|
|
||||||
40
main.py
40
main.py
|
|
@ -5,6 +5,46 @@ from fastapi.middleware.cors import CORSMiddleware
|
||||||
|
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
|
|
||||||
|
import psycopg2
|
||||||
|
|
||||||
|
dbconn = psycopg2.connect(database="blorgdb",
|
||||||
|
host="172.20.0.10",
|
||||||
|
user="dev",
|
||||||
|
password="dev",
|
||||||
|
port="5432")
|
||||||
|
|
||||||
|
dbcursor = dbconn.cursor()
|
||||||
|
|
||||||
|
dbcursor.execute("""
|
||||||
|
DO $$
|
||||||
|
BEGIN
|
||||||
|
IF (EXISTS (SELECT *
|
||||||
|
FROM INFORMATION_SCHEMA.TABLES
|
||||||
|
WHERE TABLE_NAME = 'users'))
|
||||||
|
THEN
|
||||||
|
RAISE NOTICE 'Table does exist!';
|
||||||
|
ELSE
|
||||||
|
RAISE NOTICE 'User Table does not exist! Creating table.';
|
||||||
|
CREATE TABLE users (
|
||||||
|
UserID int,
|
||||||
|
FirstName varchar(255),
|
||||||
|
LastName varchar(255),
|
||||||
|
PasswordHash varchar(255)
|
||||||
|
);
|
||||||
|
END IF;
|
||||||
|
END;
|
||||||
|
$$""")
|
||||||
|
|
||||||
|
|
||||||
|
#print(dbcursor.fetchall())
|
||||||
|
|
||||||
|
for notice in dbconn.notices:
|
||||||
|
print("(SQL SERVER) " + notice)
|
||||||
|
|
||||||
|
dbconn.commit()
|
||||||
|
dbcursor.close()
|
||||||
|
dbconn.close()
|
||||||
|
|
||||||
app = FastAPI()
|
app = FastAPI()
|
||||||
|
|
||||||
origins = [
|
origins = [
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ click==8.1.7
|
||||||
fastapi==0.110.1
|
fastapi==0.110.1
|
||||||
h11==0.14.0
|
h11==0.14.0
|
||||||
idna==3.7
|
idna==3.7
|
||||||
|
psycopg2-binary==2.9.9
|
||||||
pydantic==2.7.0
|
pydantic==2.7.0
|
||||||
pydantic_core==2.18.1
|
pydantic_core==2.18.1
|
||||||
sniffio==1.3.1
|
sniffio==1.3.1
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue