mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2026-08-17 16:34:44 -05:00
An old configuration database (e.g. a pre-9.0 pgadmin4.db lingering in %appdata%) can carry a stale foreign key such as server.user_id -> user_old, a table removed long ago. SQLAlchemy's MetaData.reflect() defaults to resolve_fks=True, which auto-follows the reflected table's foreign keys and reflects their targets too; the orphan target trips NoSuchTableError and aborts the startup migration, surfacing in the GUI as the misleading "Server could not be contacted". None of the migrations use the FK-target tables -- each operates only on the explicitly requested table(s). Pass resolve_fks=False at all 14 meta.reflect() call sites across the 12 migration files so reflection no longer cascades into broken FK targets. Behaviour is unchanged for healthy databases. Adds a 9.16 release note.