SAE-A2-TruthInquiry/data_persistance/tables.py
2023-01-03 09:32:43 +01:00

98 lines
2.8 KiB
Python

from sqlalchemy import Column, Integer, Text, ForeignKey
from sqlalchemy.orm import declarative_base, relationship
Base = declarative_base()
class Locale(Base):
__tablename__ = 'T_LOCALE'
TEXT_ID = Column(Integer, primary_key=True)
LANG = Column(Text)
TEXT = Column(Text)
def __init__(self, TEXT_ID, LANG, TEXT):
self.PLACE_ID = TEXT_ID
self.LANG = LANG
self.TEXT = TEXT
def __str__(self):
return self.PLACE_ID + " " + self.LANG + " " + self.TEXT
class Place(Base):
__tablename__ = 'T_PLACE'
PLACE_ID = Column(Integer, primary_key=True)
NAME_LID = Column(Integer, ForeignKey("T_LOCALE.TEXT_ID"))
LOCALE = relationship("Locale")
def __init__(self, PLACE_ID, NAME_LID):
self.PLACE_ID = PLACE_ID
self.NAME_LID = NAME_LID
def __str__(self):
return self.PLACE_ID + " " + self.NAME_LID
class Question(Base):
__tablename__ = "T_QUESTION"
QUESTION_ID = Column(Integer, primary_key=True)
QUESTION_TYPE = Column(Integer)
TEXT_LID = Column(Integer, ForeignKey("T_LOCALE.TEXT_ID"))
LOCALE = relationship("Locale")
def __init__(self, QUESTION_ID, QUESTION_TYPE, TEXT_LID):
self.QUESTION_ID = QUESTION_ID
self.QUESTION_TYPE = QUESTION_TYPE
self.TEXT_LID = TEXT_LID
def __str__(self):
return self.QUESTION_ID + " " + self.QUESTION_TYPE + " " + self.TEXT_LID
class Answer(Base):
__tablename__ = "T_ANSWER"
ANSWER_ID = Column(Integer, primary_key=True)
QA_TYPE = Column(Integer)
NPC_ID = Column(Integer, ForeignKey("T_NPC.NPC_ID"))
TEXT_LID = Column(Integer, ForeignKey("T_LOCALE.TEXT_ID"))
def __init__(self, ANSWSER_ID, QA_TYPE, NPC_ID, TEXT_LID):
self.ANSWSER_ID = ANSWSER_ID
self.QA_TYPE = QA_TYPE
self.NPC_ID = NPC_ID
self.TEXT_LID = TEXT_LID
class Npc(Base):
__tablename__ = "T_NPC"
NPC_ID = Column(Integer, primary_key=True)
NAME_LID = Column(Integer, ForeignKey("T_LOCALE.TEXT_ID"))
def __init__(self, NPC_ID, NAME_LID):
self.NPC_ID = NPC_ID
self.NAME_LID = NAME_LID
class Trait(Base):
__tablename__ = "T_TRAIT"
TRAIT_ID = Column(Integer, primary_key=True)
NAME_LID = Column(Integer, ForeignKey("T_LOCALE.TEXT_ID"))
def __init__(self, TRAIT_ID, NAME_LID):
self.TRAIT_ID = TRAIT_ID
self.NAME_LID = NAME_LID
class Reaction(Base):
__tablename__ = "T_REACTION"
REACTION_ID = Column(Integer, primary_key=True)
DESC_LID = Column(Integer, ForeignKey("T_LOCALE.TEXT_ID"))
NPC_ID = Column(Integer, ForeignKey("T_NPC.NPC_ID"))
TRAIT_ID = Column(Integer, ForeignKey("T_TRAIT.TRAIT_ID"))
def __init__(self, REACTION_ID, DESC_LID, NPC_ID, TRAIT_ID):
self.REACTION_ID = REACTION_ID
self.DESC_LID = DESC_LID
self.NPC_ID = NPC_ID
self.TRAIT_ID = TRAIT_ID