memory (storage): adjustements to SQLAlchemy mapping to match current state of database
This commit is contained in:
parent
f6a528dbb4
commit
71db80fc4d
1 changed files with 63 additions and 25 deletions
|
|
@ -106,7 +106,14 @@ class JID(TypeDecorator):
|
|||
class Profile(Base):
|
||||
__tablename__ = "profiles"
|
||||
|
||||
id = Column(Integer, primary_key=True)
|
||||
id = Column(
|
||||
Integer,
|
||||
primary_key=True,
|
||||
nullable=True,
|
||||
# settings autoincrement would have negative performance impact
|
||||
# cf. https://sqlite.org/autoinc.html
|
||||
autoincrement=False
|
||||
)
|
||||
name = Column(Text, unique=True)
|
||||
|
||||
params = relationship("ParamInd", back_populates="profile", passive_deletes=True)
|
||||
|
|
@ -121,7 +128,11 @@ class Profile(Base):
|
|||
class Component(Base):
|
||||
__tablename__ = "components"
|
||||
|
||||
profile_id = Column(ForeignKey("profiles.id", ondelete="CASCADE"), primary_key=True)
|
||||
profile_id = Column(
|
||||
ForeignKey("profiles.id", ondelete="CASCADE"),
|
||||
nullable=True,
|
||||
primary_key=True
|
||||
)
|
||||
entry_point = Column(Text, nullable=False)
|
||||
profile = relationship("Profile")
|
||||
|
||||
|
|
@ -129,7 +140,7 @@ class Component(Base):
|
|||
class MessageType(Base):
|
||||
__tablename__ = "message_types"
|
||||
|
||||
type = Column(Text, primary_key=True)
|
||||
type = Column(Text, primary_key=True, nullable=True)
|
||||
|
||||
|
||||
class History(Base):
|
||||
|
|
@ -142,7 +153,7 @@ class History(Base):
|
|||
)
|
||||
)
|
||||
|
||||
uid = Column(Text, primary_key=True)
|
||||
uid = Column(Text, primary_key=True, nullable=True)
|
||||
stanza_id = Column(Text)
|
||||
update_uid = Column(Text)
|
||||
profile_id = Column(ForeignKey("profiles.id", ondelete="CASCADE"))
|
||||
|
|
@ -250,9 +261,18 @@ class History(Base):
|
|||
|
||||
class Message(Base):
|
||||
__tablename__ = "message"
|
||||
__table_args__ = (
|
||||
Index("message__history_uid", "history_uid"),
|
||||
)
|
||||
|
||||
id = Column(Integer, primary_key=True)
|
||||
history_uid = Column(ForeignKey("history.uid", ondelete="CASCADE"), index=True)
|
||||
id = Column(
|
||||
Integer,
|
||||
primary_key=True,
|
||||
nullable=True,
|
||||
# cf. note for Profile.id
|
||||
autoincrement=False
|
||||
)
|
||||
history_uid = Column(ForeignKey("history.uid", ondelete="CASCADE"))
|
||||
message = Column(Text)
|
||||
language = Column(Text)
|
||||
|
||||
|
|
@ -265,9 +285,18 @@ class Message(Base):
|
|||
|
||||
class Subject(Base):
|
||||
__tablename__ = "subject"
|
||||
__table_args__ = (
|
||||
Index("subject__history_uid", "history_uid"),
|
||||
)
|
||||
|
||||
id = Column(Integer, primary_key=True)
|
||||
history_uid = Column(ForeignKey("history.uid", ondelete="CASCADE"), index=True)
|
||||
id = Column(
|
||||
Integer,
|
||||
primary_key=True,
|
||||
nullable=True,
|
||||
# cf. note for Profile.id
|
||||
autoincrement=False,
|
||||
)
|
||||
history_uid = Column(ForeignKey("history.uid", ondelete="CASCADE"))
|
||||
subject = Column(Text)
|
||||
language = Column(Text)
|
||||
|
||||
|
|
@ -280,9 +309,18 @@ class Subject(Base):
|
|||
|
||||
class Thread(Base):
|
||||
__tablename__ = "thread"
|
||||
__table_args__ = (
|
||||
Index("thread__history_uid", "history_uid"),
|
||||
)
|
||||
|
||||
id = Column(Integer, primary_key=True)
|
||||
history_uid = Column(ForeignKey("history.uid", ondelete="CASCADE"), index=True)
|
||||
id = Column(
|
||||
Integer,
|
||||
primary_key=True,
|
||||
nullable=True,
|
||||
# cf. note for Profile.id
|
||||
autoincrement=False,
|
||||
)
|
||||
history_uid = Column(ForeignKey("history.uid", ondelete="CASCADE"))
|
||||
thread_id = Column(Text)
|
||||
parent_id = Column(Text)
|
||||
|
||||
|
|
@ -295,18 +333,18 @@ class Thread(Base):
|
|||
class ParamGen(Base):
|
||||
__tablename__ = "param_gen"
|
||||
|
||||
category = Column(Text, primary_key=True, nullable=False)
|
||||
name = Column(Text, primary_key=True, nullable=False)
|
||||
category = Column(Text, primary_key=True, nullable=True)
|
||||
name = Column(Text, primary_key=True, nullable=True)
|
||||
value = Column(Text)
|
||||
|
||||
|
||||
class ParamInd(Base):
|
||||
__tablename__ = "param_ind"
|
||||
|
||||
category = Column(Text, primary_key=True, nullable=False)
|
||||
name = Column(Text, primary_key=True, nullable=False)
|
||||
category = Column(Text, primary_key=True, nullable=True)
|
||||
name = Column(Text, primary_key=True, nullable=True)
|
||||
profile_id = Column(
|
||||
ForeignKey("profiles.id", ondelete="CASCADE"), primary_key=True, nullable=False
|
||||
ForeignKey("profiles.id", ondelete="CASCADE"), primary_key=True, nullable=True
|
||||
)
|
||||
value = Column(Text)
|
||||
|
||||
|
|
@ -316,18 +354,18 @@ class ParamInd(Base):
|
|||
class PrivateGen(Base):
|
||||
__tablename__ = "private_gen"
|
||||
|
||||
namespace = Column(Text, primary_key=True, nullable=False)
|
||||
key = Column(Text, primary_key=True, nullable=False)
|
||||
namespace = Column(Text, primary_key=True, nullable=True)
|
||||
key = Column(Text, primary_key=True, nullable=True)
|
||||
value = Column(Text)
|
||||
|
||||
|
||||
class PrivateInd(Base):
|
||||
__tablename__ = "private_ind"
|
||||
|
||||
namespace = Column(Text, primary_key=True, nullable=False)
|
||||
key = Column(Text, primary_key=True, nullable=False)
|
||||
namespace = Column(Text, primary_key=True, nullable=True)
|
||||
key = Column(Text, primary_key=True, nullable=True)
|
||||
profile_id = Column(
|
||||
ForeignKey("profiles.id", ondelete="CASCADE"), primary_key=True, nullable=False
|
||||
ForeignKey("profiles.id", ondelete="CASCADE"), primary_key=True, nullable=True
|
||||
)
|
||||
value = Column(Text)
|
||||
|
||||
|
|
@ -337,18 +375,18 @@ class PrivateInd(Base):
|
|||
class PrivateGenBin(Base):
|
||||
__tablename__ = "private_gen_bin"
|
||||
|
||||
namespace = Column(Text, primary_key=True, nullable=False)
|
||||
key = Column(Text, primary_key=True, nullable=False)
|
||||
namespace = Column(Text, primary_key=True, nullable=True)
|
||||
key = Column(Text, primary_key=True, nullable=True)
|
||||
value = Column(LegacyPickle)
|
||||
|
||||
|
||||
class PrivateIndBin(Base):
|
||||
__tablename__ = "private_ind_bin"
|
||||
|
||||
namespace = Column(Text, primary_key=True, nullable=False)
|
||||
key = Column(Text, primary_key=True, nullable=False)
|
||||
namespace = Column(Text, primary_key=True, nullable=True)
|
||||
key = Column(Text, primary_key=True, nullable=True)
|
||||
profile_id = Column(
|
||||
ForeignKey("profiles.id", ondelete="CASCADE"), primary_key=True, nullable=False
|
||||
ForeignKey("profiles.id", ondelete="CASCADE"), primary_key=True, nullable=True
|
||||
)
|
||||
value = Column(LegacyPickle)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue