backend: добавлен скрипт для вставки начальных данных

This commit is contained in:
2022-11-19 17:35:32 +03:00
parent de81e9baa0
commit 64315bf388
3 changed files with 48 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
[
{
"table_name": "character_classes",
"records": [
{
"id": 1,
"name": "Тест1"
},
{
"id": 2,
"name": "Тест2"
}
]
}
]

View File

@@ -0,0 +1,25 @@
import json
import sqlalchemy
from sqlalchemy.orm import Session
with open("textsouls/config.json") as config_file:
config_data = json.load(config_file)
engine = sqlalchemy.create_engine(
config_data["DB_SETTINGS"]["SQLALCHEMY_DATABASE_URI"]
)
metadata = sqlalchemy.MetaData(bind=engine)
with open("scripts/init_data.json") as seed_file:
seed_data = json.load(seed_file)
for table_data in seed_data:
table = sqlalchemy.Table(table_data["table_name"], metadata, autoload=True)
query = table.insert().values(table_data["records"])
session = Session(engine)
session.execute(query)
session.commit()
session.close()