Skip to content

Commit 3cef0f7

Browse files
authored
mypy for sqlalchemy (#402)
1 parent d7e4783 commit 3cef0f7

File tree

3 files changed

+19
-15
lines changed

3 files changed

+19
-15
lines changed

pyproject.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,10 @@ xfail_strict = true
114114

115115
files = "ragna"
116116

117+
plugins = [
118+
"sqlmypy",
119+
]
120+
117121
show_error_codes = true
118122
pretty = true
119123

ragna/deploy/_api/database.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ def update_chat(session: Session, user: str, chat: schemas.Chat) -> None:
256256
orm_chat = _get_orm_chat(session, user=user, id=chat.id)
257257

258258
orm_chat.prepared = chat.prepared
259-
orm_chat.messages = [
259+
orm_chat.messages = [ # type: ignore[assignment]
260260
_schema_to_orm_message(session, chat_id=chat.id, message=message)
261261
for message in chat.messages
262262
]

ragna/deploy/_api/orm.py

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class User(Base):
4141
__tablename__ = "users"
4242

4343
id = Column(types.Uuid, primary_key=True) # type: ignore[attr-defined]
44-
name = Column(types.String)
44+
name = Column(types.String, nullable=False)
4545

4646

4747
document_chat_association_table = Table(
@@ -57,10 +57,10 @@ class Document(Base):
5757

5858
id = Column(types.Uuid, primary_key=True) # type: ignore[attr-defined]
5959
user_id = Column(ForeignKey("users.id"))
60-
name = Column(types.String)
60+
name = Column(types.String, nullable=False)
6161
# Mind the trailing underscore here. Unfortunately, this is necessary, because
6262
# metadata without the underscore is reserved by SQLAlchemy
63-
metadata_ = Column(Json)
63+
metadata_ = Column(Json, nullable=False)
6464
chats = relationship(
6565
"Chat",
6666
secondary=document_chat_association_table,
@@ -77,19 +77,19 @@ class Chat(Base):
7777

7878
id = Column(types.Uuid, primary_key=True) # type: ignore[attr-defined]
7979
user_id = Column(ForeignKey("users.id"))
80-
name = Column(types.String)
80+
name = Column(types.String, nullable=False)
8181
documents = relationship(
8282
"Document",
8383
secondary=document_chat_association_table,
8484
back_populates="chats",
8585
)
86-
source_storage = Column(types.String)
87-
assistant = Column(types.String)
88-
params = Column(Json)
86+
source_storage = Column(types.String, nullable=False)
87+
assistant = Column(types.String, nullable=False)
88+
params = Column(Json, nullable=False)
8989
messages = relationship(
9090
"Message", cascade="all, delete", order_by="Message.timestamp"
9191
)
92-
prepared = Column(types.Boolean)
92+
prepared = Column(types.Boolean, nullable=False)
9393

9494

9595
source_message_association_table = Table(
@@ -111,9 +111,9 @@ class Source(Base):
111111
document_id = Column(ForeignKey("documents.id"))
112112
document = relationship("Document", back_populates="sources")
113113

114-
location = Column(types.String)
115-
content = Column(types.String)
116-
num_tokens = Column(types.Integer)
114+
location = Column(types.String, nullable=False)
115+
content = Column(types.String, nullable=False)
116+
num_tokens = Column(types.Integer, nullable=False)
117117

118118
messages = relationship(
119119
"Message",
@@ -127,11 +127,11 @@ class Message(Base):
127127

128128
id = Column(types.Uuid, primary_key=True) # type: ignore[attr-defined]
129129
chat_id = Column(ForeignKey("chats.id"))
130-
content = Column(types.String)
131-
role = Column(types.Enum(MessageRole))
130+
content = Column(types.String, nullable=False)
131+
role = Column(types.Enum(MessageRole), nullable=False)
132132
sources = relationship(
133133
"Source",
134134
secondary=source_message_association_table,
135135
back_populates="messages",
136136
)
137-
timestamp = Column(types.DateTime)
137+
timestamp = Column(types.DateTime, nullable=False)

0 commit comments

Comments
 (0)