42 lines
989 B
Python
42 lines
989 B
Python
from sqlalchemy import create_engine
|
|
from sqlalchemy.ext.declarative import declarative_base
|
|
from sqlalchemy.orm import sessionmaker
|
|
|
|
SQLALCHEMY_DATABASE_URL = "sqlite:///./sql_app.db"
|
|
# SQLALCHEMY_DATABASE_URL = "postgresql://user:password@postgresserver/db"
|
|
|
|
engine = create_engine(
|
|
SQLALCHEMY_DATABASE_URL, connect_args={"check_same_thread": False}
|
|
)
|
|
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
|
|
|
|
Base = declarative_base()
|
|
|
|
|
|
def create_db():
|
|
import models
|
|
|
|
models.Base.metadata.create_all(bind=engine)
|
|
|
|
|
|
def fill_db():
|
|
create_db()
|
|
import crud
|
|
import random
|
|
|
|
def _genres():
|
|
return random.choice([["Comedy"], ["Comedy", "Drama"], []])
|
|
|
|
for _ in range(3):
|
|
name = f"fill_db_{random.randint(1, 1000):03}"
|
|
|
|
out = crud.create_movie(SessionLocal(), title=name, genres=_genres())
|
|
print(out.genres)
|
|
|
|
print(out.genres.copy())
|
|
print(out.title)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
fill_db()
|