adding character sheets

This commit is contained in:
evilchili
2024-01-28 14:31:50 -08:00
parent 17da4a73ee
commit 64451ddf8b
10 changed files with 84 additions and 10 deletions
+4
View File
@@ -10,7 +10,11 @@ data = {
'ancestry': [
{'name': 'human'},
{'name': 'dragonborn'},
{'name': 'tiefling'},
],
'character': [
{'name': 'Sabetha', 'ancestry_name': 'tiefling', 'level': 10, 'str': 10, 'dex': 10, 'con': 10, 'int': 10, 'wis': 10, 'cha': 10},
]
}
+8
View File
@@ -1,4 +1,5 @@
from functools import cached_property
import logging
from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker
@@ -31,6 +32,13 @@ class SQLDatabaseManager:
def query(self, *args, **kwargs):
return self.DBSession.query(*args, **kwargs)
def update(self, table, **kwargs):
stmt = table.update().values(**kwargs)
logging.debug(stmt)
result = self.DBSession.execute(stmt)
self.DBSession.commit()
return result
def init_model(self, engine=None):
metadata.create_all(bind=engine or self.engine)
return self.DBSession
+10 -4
View File
@@ -5,18 +5,17 @@ from sqlalchemy import Integer
from sqlalchemy import String
from sqlalchemy import UnicodeText
from sqlalchemy import ForeignKey
from sqlalchemy import CheckConstraint
# from sqlalchemy import PrimaryKeyConstraint
# from sqlalchemy import DateTime
metadata = MetaData()
Ancestry = Table(
"ancestry",
metadata,
Column("id", Integer, primary_key=True, autoincrement=True),
Column("name", String, primary_key=True),
Column("slug", String, index=True, unique=True),
Column("name", String, index=True, unique=True),
Column("description", UnicodeText),
)
@@ -25,6 +24,13 @@ Character = Table(
metadata,
Column("id", Integer, primary_key=True, autoincrement=True),
Column("slug", String, index=True, unique=True),
Column("ancestry_name", Integer, ForeignKey("ancestry.name")),
Column("name", String),
Column("ancestry_id", Integer, ForeignKey("ancestry.id")),
Column("level", Integer, CheckConstraint('level > 0 AND level <= 20')),
Column("str", Integer, CheckConstraint('str >=0')),
Column("dex", Integer, CheckConstraint('dex >=0')),
Column("con", Integer, CheckConstraint('con >=0')),
Column("int", Integer, CheckConstraint('int >=0')),
Column("wis", Integer, CheckConstraint('wis >=0')),
Column("cha", Integer, CheckConstraint('cha >=0')),
)