adding character sheets
This commit is contained in:
@@ -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},
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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
@@ -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')),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user