1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
From 50b3b11ef9c30d4923c82949c66dc6fe3ed0047a Mon Sep 17 00:00:00 2001
From: Matthew Thode <mthode@mthode.org>
Date: Tue, 11 Apr 2023 23:46:27 -0500
Subject: [PATCH] make gertty work with sqlalchemy-2
Change-Id: I80c007af86cd7102c3c75963ad5b0a051dd9b541
Signed-off-by: Matthew Thode <mthode@mthode.org>
---
gertty/db.py | 41 +++++++++++++++++++++--------------------
1 file changed, 21 insertions(+), 20 deletions(-)
diff --git a/gertty/db.py b/gertty/db.py
index 92cc278..82cffaa 100644
--- a/gertty/db.py
+++ b/gertty/db.py
@@ -25,11 +25,12 @@ import six
import sqlalchemy
from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String, Boolean, DateTime, Text, UniqueConstraint
from sqlalchemy.schema import ForeignKey
-from sqlalchemy.orm import mapper, sessionmaker, relationship, scoped_session, joinedload
+from sqlalchemy.orm import registry, sessionmaker, relationship, scoped_session, joinedload
from sqlalchemy.orm.session import Session
from sqlalchemy.sql import exists
from sqlalchemy.sql.expression import and_
+mapper = registry()
metadata = MetaData()
project_table = Table(
'project', metadata,
@@ -713,8 +714,8 @@ class Check(object):
self.created = created
self.updated = updated
-mapper(Account, account_table)
-mapper(Project, project_table, properties=dict(
+mapper.map_imperatively(Account, account_table)
+mapper.map_imperatively(Project, project_table, properties=dict(
branches=relationship(Branch, backref='project',
order_by=branch_table.c.name,
cascade='all, delete-orphan'),
@@ -740,16 +741,16 @@ mapper(Project, project_table, properties=dict(
order_by=change_table.c.number,
),
))
-mapper(Branch, branch_table)
-mapper(Topic, topic_table, properties=dict(
+mapper.map_imperatively(Branch, branch_table)
+mapper.map_imperatively(Topic, topic_table, properties=dict(
projects=relationship(Project,
secondary=project_topic_table,
order_by=project_table.c.name,
viewonly=True),
project_topics=relationship(ProjectTopic),
))
-mapper(ProjectTopic, project_topic_table)
-mapper(Change, change_table, properties=dict(
+mapper.map_imperatively(ProjectTopic, project_topic_table)
+mapper.map_imperatively(Change, change_table, properties=dict(
owner=relationship(Account),
conflicts1=relationship(Change,
secondary=change_conflict_table,
@@ -787,7 +788,7 @@ mapper(Change, change_table, properties=dict(
order_by=(approval_table.c.category,
approval_table.c.value))
))
-mapper(Revision, revision_table, properties=dict(
+mapper.map_imperatively(Revision, revision_table, properties=dict(
messages=relationship(Message, backref='revision',
cascade='all, delete-orphan'),
files=relationship(File, backref='revision',
@@ -798,9 +799,9 @@ mapper(Revision, revision_table, properties=dict(
cascade='all, delete-orphan'),
))
-mapper(Message, message_table, properties=dict(
+mapper.map_imperatively(Message, message_table, properties=dict(
author=relationship(Account)))
-mapper(File, file_table, properties=dict(
+mapper.map_imperatively(File, file_table, properties=dict(
comments=relationship(Comment, backref='file',
order_by=(comment_table.c.line,
comment_table.c.created),
@@ -812,20 +813,20 @@ mapper(File, file_table, properties=dict(
comment_table.c.created)),
))
-mapper(Comment, comment_table, properties=dict(
+mapper.map_imperatively(Comment, comment_table, properties=dict(
author=relationship(Account)))
-mapper(Label, label_table)
-mapper(PermittedLabel, permitted_label_table)
-mapper(Approval, approval_table, properties=dict(
+mapper.map_imperatively(Label, label_table)
+mapper.map_imperatively(PermittedLabel, permitted_label_table)
+mapper.map_imperatively(Approval, approval_table, properties=dict(
reviewer=relationship(Account)))
-mapper(PendingCherryPick, pending_cherry_pick_table)
-mapper(SyncQuery, sync_query_table)
-mapper(Hashtag, hashtag_table)
-mapper(Server, server_table, properties=dict(
+mapper.map_imperatively(PendingCherryPick, pending_cherry_pick_table)
+mapper.map_imperatively(SyncQuery, sync_query_table)
+mapper.map_imperatively(Hashtag, hashtag_table)
+mapper.map_imperatively(Server, server_table, properties=dict(
own_account=relationship(Account)
))
-mapper(Checker, checker_table)
-mapper(Check, check_table, properties=dict(
+mapper.map_imperatively(Checker, checker_table)
+mapper.map_imperatively(Check, check_table, properties=dict(
checker=relationship(Checker)))
--
2.39.2
|