new database system

This commit is contained in:
bdrtr 2025-05-14 16:31:46 +03:00
parent 039b877241
commit bf71979982
8 changed files with 92 additions and 124 deletions

View file

@ -2,6 +2,7 @@ from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker, DeclarativeBase
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from sqlalchemy import Table, Column, Integer, String, Float, Boolean, ForeignKey
from passlib.context import CryptContext
from dotenv import load_dotenv
import os
@ -29,7 +30,7 @@ class Base(DeclarativeBase):
#models te içe aktarmayı unutma
def init_db():
#Base.metadata.drop_all(engine) # Veritabanını her başlangıcta siler burayada dikkat !!!!!!!!
Base.metadata.drop_all(engine) # Veritabanını her başlangıcta siler burayada dikkat !!!!!!!!
Base.metadata.create_all(bind=engine) # Veritabanını oluşturur
# Session dependency (FastAPI için)
@ -40,6 +41,21 @@ def get_session_db():
finally:
db.close()
user_collection = Table( # user -> collection
"user_collection",
Base.metadata,
Column("user_id", Integer, ForeignKey("users_table.user_id"), primary_key=True),
Column("collection_id", Integer, ForeignKey("collections_table.collection_id"), primary_key=True),
)
collection_item = Table( # collection -> item
"collection_item",
Base.metadata,
Column("collection_id", ForeignKey("collections_table.collection_id"), primary_key=True),
Column("item_id", ForeignKey("items_table.item_id"), primary_key=True)
)
### SECRET KEY ###