followers-migrated

This commit is contained in:
2022-09-18 17:29:21 +03:00
parent 60c7a1571b
commit 1122fe580b
12 changed files with 144 additions and 76 deletions

View File

@@ -1,6 +1,6 @@
from datetime import datetime
from sqlalchemy import Column, String, ForeignKey, DateTime
from sqlalchemy import Column, String, ForeignKey, DateTime, Boolean
from base.orm import Base, local_session
@@ -14,6 +14,7 @@ class CommunityFollower(Base):
createdAt = Column(
DateTime, nullable=False, default=datetime.now, comment="Created at"
)
auto = Column(Boolean, nullable=False, default=False)
class Community(Base):

View File

@@ -46,29 +46,25 @@ class Shout(Base):
id = None # type: ignore
slug = Column(String, primary_key=True)
community = Column(
Integer, ForeignKey("community.id"), nullable=False, comment="Community"
)
community = Column(Integer, ForeignKey("community.id"), nullable=False, comment="Community")
body = Column(String, nullable=False, comment="Body")
createdAt = Column(
DateTime, nullable=False, default=datetime.now, comment="Created at"
)
updatedAt = Column(DateTime, nullable=True, comment="Updated at")
replyTo = Column(ForeignKey("shout.slug"), nullable=True)
versionOf = Column(ForeignKey("shout.slug"), nullable=True)
tags = Column(String, nullable=True)
publishedBy = Column(ForeignKey("user.id"), nullable=True)
publishedAt = Column(DateTime, nullable=True)
cover = Column(String, nullable=True)
title = Column(String, nullable=True)
subtitle = Column(String, nullable=True)
layout = Column(String, nullable=True)
reactions = relationship(lambda: Reaction)
mainTopic = Column(ForeignKey("topic.slug"), nullable=True)
cover = Column(String, nullable=True)
authors = relationship(lambda: User, secondary=ShoutAuthor.__tablename__)
topics = relationship(lambda: Topic, secondary=ShoutTopic.__tablename__)
mainTopic = Column(ForeignKey("topic.slug"), nullable=True)
reactions = relationship(lambda: Reaction)
visibleFor = relationship(lambda: User, secondary=ShoutAllowed.__tablename__)
draft = Column(Boolean, default=True)
createdAt = Column(DateTime, nullable=False, default=datetime.now, comment="Created at")
updatedAt = Column(DateTime, nullable=True, comment="Updated at")
publishedAt = Column(DateTime, nullable=True)
versionOf = Column(ForeignKey("shout.slug"), nullable=True)
draft = Column(Boolean, default=False)
lang = Column(String, default='ru')
oid = Column(String, nullable=True)
@property

View File

@@ -1,6 +1,6 @@
from datetime import datetime
from sqlalchemy import Column, String, ForeignKey, DateTime, JSON as JSONType
from sqlalchemy import Column, Boolean, String, ForeignKey, DateTime, JSON as JSONType
from base.orm import Base
@@ -22,6 +22,7 @@ class TopicFollower(Base):
createdAt = Column(
DateTime, nullable=False, default=datetime.now, comment="Created at"
)
auto = Column(Boolean, nullable=False, default=False)
class Topic(Base):

View File

@@ -50,6 +50,7 @@ class AuthorFollower(Base):
createdAt = Column(
DateTime, nullable=False, default=datetime.now, comment="Created at"
)
auto = Column(Boolean, nullable=False, default=False)
class User(Base):