summaryrefslogtreecommitdiff
path: root/animism-align/cli/app/sql/common.py
diff options
context:
space:
mode:
Diffstat (limited to 'animism-align/cli/app/sql/common.py')
-rw-r--r--animism-align/cli/app/sql/common.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/animism-align/cli/app/sql/common.py b/animism-align/cli/app/sql/common.py
new file mode 100644
index 0000000..6f3586b
--- /dev/null
+++ b/animism-align/cli/app/sql/common.py
@@ -0,0 +1,35 @@
+import os
+import glob
+import time
+
+# import mysql.connector
+from sqlalchemy import create_engine
+from sqlalchemy.orm import sessionmaker
+from sqlalchemy.ext.declarative import declarative_base
+
+from flask_sqlalchemy import SQLAlchemy
+
+from app.settings import app_cfg
+
+# connection_url = "mysql+mysqlconnector://{}:{}@{}/{}?charset=utf8mb4".format(
+# os.getenv("DB_USER"),
+# os.getenv("DB_PASS"),
+# os.getenv("DB_HOST"),
+# os.getenv("DB_NAME")
+# )
+
+os.makedirs(app_cfg.DIR_DATABASE, exist_ok=True)
+
+connection_url = "sqlite:///{}".format(os.path.join(app_cfg.DIR_DATABASE, 'animism.sqlite3'))
+
+engine = create_engine(connection_url, encoding="utf-8", pool_recycle=3600)
+
+Session = sessionmaker(bind=engine)
+Base = declarative_base()
+Base.metadata.bind = engine
+
+db = SQLAlchemy()
+
+# include the models in reverse dependency order, so relationships work
+from app.sql.models.timestamp import Timestamp
+from app.sql.models.upload import Upload