Files
tabletop-frog/src/ttfrog/db/schema/property.py
T

40 lines
1.1 KiB
Python
Raw Normal View History

2024-03-26 00:53:21 -07:00
from sqlalchemy import Column, Integer, String, Text, UniqueConstraint
2024-02-18 19:30:41 -08:00
from ttfrog.db.base import BaseObject
2024-02-18 19:30:41 -08:00
__all__ = [
2024-03-26 00:53:21 -07:00
"Skill",
"Proficiency",
"Modifier",
2024-02-18 19:30:41 -08:00
]
class Skill(BaseObject):
2024-02-18 19:30:41 -08:00
__tablename__ = "skill"
id = Column(Integer, primary_key=True, autoincrement=True)
name = Column(String, index=True, unique=True)
description = Column(Text)
def __repr__(self):
return str(self.name)
class Proficiency(BaseObject):
2024-02-18 19:30:41 -08:00
__tablename__ = "proficiency"
id = Column(Integer, primary_key=True, autoincrement=True)
name = Column(String, index=True, unique=True)
def __repr__(self):
return str(self.name)
class Modifier(BaseObject):
2024-02-18 19:30:41 -08:00
__tablename__ = "modifier"
2024-03-26 00:53:21 -07:00
__table_args__ = (UniqueConstraint("source_table_name", "source_table_id", "value", "type", "target"),)
2024-02-18 19:30:41 -08:00
id = Column(Integer, primary_key=True, autoincrement=True)
source_table_name = Column(String, index=True, nullable=False)
source_table_id = Column(Integer, index=True, nullable=False)
value = Column(String, nullable=False)
type = Column(String, nullable=False)
target = Column(String, nullable=False)