Skip to content

Commit e79034c

Browse files
author
Luiz Matsumura
committed
fix: Adjust relationship between ServerGroup and Server
- Adjusting relationship - Server has one ServerGroup not servers - Using back_populates instead of backref for better control - Adjusted references to ServerGroup in server: server.servergroup.name instead server.servers.name
1 parent 96f1ed5 commit e79034c

3 files changed

Lines changed: 12 additions & 7 deletions

File tree

web/pgadmin/model/__init__.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,12 @@ class ServerGroup(db.Model, UserScopedMixin):
252252
name = db.Column(db.String(128), nullable=False)
253253
__table_args__ = (db.UniqueConstraint('user_id', 'name'),)
254254

255-
servers = db.relationship('Server', backref='servergroup', lazy='select')
255+
servers = db.relationship(
256+
'Server',
257+
back_populates='servergroup',
258+
lazy='select',
259+
cascade=CASCADE_STR
260+
)
256261

257262
@property
258263
def serialize(self):
@@ -295,9 +300,9 @@ class Server(db.Model, UserScopedMixin):
295300
role = db.Column(db.String(64), nullable=True)
296301
comment = db.Column(db.String(1024), nullable=True)
297302
discovery_id = db.Column(db.String(128), nullable=True)
298-
servers = db.relationship(
303+
servergroup = db.relationship(
299304
'ServerGroup',
300-
backref=db.backref('server', cascade=CASCADE_STR),
305+
back_populates='servers',
301306
lazy='joined'
302307
)
303308
db_res = db.Column(db.Text(), nullable=True)

web/pgadmin/tools/schema_diff/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -307,10 +307,10 @@ def servers():
307307
"connected": connected
308308
}
309309

310-
if server.servers.name in res:
311-
res[server.servers.name].append(server_info)
310+
if server.servergroup.name in res:
311+
res[server.servergroup.name].append(server_info)
312312
else:
313-
res[server.servers.name] = [server_info]
313+
res[server.servergroup.name] = [server_info]
314314

315315
except Exception as e:
316316
app.logger.exception(e)

web/pgadmin/tools/sqleditor/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2420,7 +2420,7 @@ def get_new_connection_data(sgid=None, sid=None):
24202420
manager = driver.connection_manager(server.id)
24212421
conn = manager.connection()
24222422
connected = conn.connected()
2423-
server_group_data[server.servers.name].append({
2423+
server_group_data[server.servergroup.name].append({
24242424
'label': server.name,
24252425
"value": server.id,
24262426
'image': server_icon_and_background(connected, manager,

0 commit comments

Comments
 (0)