summaryrefslogtreecommitdiff
path: root/ATRI/database/db.py
diff options
context:
space:
mode:
Diffstat (limited to 'ATRI/database/db.py')
-rw-r--r--ATRI/database/db.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/ATRI/database/db.py b/ATRI/database/db.py
new file mode 100644
index 0000000..6e20ad3
--- /dev/null
+++ b/ATRI/database/db.py
@@ -0,0 +1,27 @@
+from pathlib import Path
+from tortoise import Tortoise, run_async
+
+from ATRI.log import logger as log
+
+
+# 临时的实现,寻求更好的方式!欢迎pr
+
+
+DB_DIR = Path(".") / "data" / "sql"
+DB_DIR.mkdir(parents=True, exist_ok=True)
+
+
+async def run():
+ from ATRI.database import models
+
+ await Tortoise.init(
+ db_url=f"sqlite://{DB_DIR}/db.sqlite3",
+ modules={"models": [locals()["models"]]},
+ )
+ await Tortoise.generate_schemas()
+
+
+def init_database():
+ log.info("正在初始化数据库...")
+ run_async(run())
+ log.success("数据库初始化完成")