36 lines
886 B
Python
36 lines
886 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(
|
|
db=SessionLocal(), movie_input_file: str = "input_data/movies_metadata_short.csv"
|
|
):
|
|
create_db()
|
|
import crud
|
|
import csv
|
|
|
|
with open(movie_input_file) as csvfile:
|
|
for movie_data in csv.DictReader(csvfile):
|
|
crud.create_movie(db, **movie_data)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
fill_db()
|