From adfeb1bd0f9885f0561ae5f10022d62fb404b09a Mon Sep 17 00:00:00 2001 From: Cory Hawkvelt Date: Sun, 26 Apr 2026 06:41:33 +0000 Subject: [PATCH] fix: remove redundant unique constraints on id columns from all migrations Remove UniqueConstraint('id') from all create_table calls in the initial migration (40 occurrences) and the bulk constraint additions from the superadmin migration (43 create + 43 drop). These were redundant with PrimaryKeyConstraint('id') which already guarantees uniqueness. Also removes duplicate unique enforcement on superadmins.email and superadmin_sessions.token (kept the unique indexes, dropped the table-level UniqueConstraints). Fixes the root cause in BaseModel by removing unique=True from the id column definition, which was causing Alembic autogenerate to produce these redundant constraints. Renames idx_cert_audit_org to ix_certificate_audit_logs_organization_id to follow Alembic naming conventions. --- gatehouse_app/models/base.py | 1 - .../6a4c4ed4a5c6_initial_migration.py | 90 +++++------------- ...d9e4a7c1b_add_org_id_to_cert_audit_logs.py | 4 +- .../versions/b4cd6c6b3b1c_superadmin.py | 95 ------------------- 4 files changed, 27 insertions(+), 163 deletions(-) diff --git a/gatehouse_app/models/base.py b/gatehouse_app/models/base.py index d1ce1c4..b19d2eb 100644 --- a/gatehouse_app/models/base.py +++ b/gatehouse_app/models/base.py @@ -13,7 +13,6 @@ class BaseModel(db.Model): db.String(36), primary_key=True, default=lambda: str(uuid.uuid4()), - unique=True, nullable=False, ) created_at = db.Column(db.DateTime, nullable=False, default=lambda: datetime.now(timezone.utc)) diff --git a/migrations/versions/6a4c4ed4a5c6_initial_migration.py b/migrations/versions/6a4c4ed4a5c6_initial_migration.py index d325376..67f8719 100644 --- a/migrations/versions/6a4c4ed4a5c6_initial_migration.py +++ b/migrations/versions/6a4c4ed4a5c6_initial_migration.py @@ -29,8 +29,7 @@ def upgrade(): sa.Column('created_at', sa.DateTime(), nullable=False), sa.Column('updated_at', sa.DateTime(), nullable=False), sa.Column('deleted_at', sa.DateTime(), nullable=True), - sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id') + sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_application_provider_configs_provider_type'), 'application_provider_configs', ['provider_type'], unique=True) op.create_table('oidc_jwks_keys', @@ -63,8 +62,7 @@ def upgrade(): sa.Column('created_at', sa.DateTime(), nullable=False), sa.Column('updated_at', sa.DateTime(), nullable=False), sa.Column('deleted_at', sa.DateTime(), nullable=True), - sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id') + sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_organizations_slug'), 'organizations', ['slug'], unique=True) op.create_table('users', @@ -81,8 +79,7 @@ def upgrade(): sa.Column('created_at', sa.DateTime(), nullable=False), sa.Column('updated_at', sa.DateTime(), nullable=False), sa.Column('deleted_at', sa.DateTime(), nullable=True), - sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id') + sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_users_activation_key'), 'users', ['activation_key'], unique=True) op.create_index(op.f('ix_users_email'), 'users', ['email'], unique=True) @@ -105,8 +102,7 @@ def upgrade(): sa.Column('updated_at', sa.DateTime(), nullable=False), sa.Column('deleted_at', sa.DateTime(), nullable=True), sa.ForeignKeyConstraint(['user_id'], ['users.id'], ), - sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id') + sa.PrimaryKeyConstraint('id') ) op.create_index('idx_audit_org', 'audit_logs', ['organization_id', 'created_at'], unique=False) op.create_index('idx_audit_resource', 'audit_logs', ['resource_type', 'resource_id'], unique=False) @@ -135,7 +131,6 @@ def upgrade(): sa.Column('deleted_at', sa.DateTime(), nullable=True), sa.ForeignKeyConstraint(['user_id'], ['users.id'], ), sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id'), sa.UniqueConstraint('user_id', 'method_type', 'provider_user_id', name='uix_user_method_provider') ) op.create_index('idx_user_method', 'authentication_methods', ['user_id', 'method_type'], unique=False) @@ -165,7 +160,6 @@ def upgrade(): sa.ForeignKeyConstraint(['organization_id'], ['organizations.id'], ), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('fingerprint'), - sa.UniqueConstraint('id'), sa.UniqueConstraint('organization_id', 'name', name='uix_org_ca_name') ) op.create_index('idx_ca_org_active', 'cas', ['organization_id', 'is_active'], unique=False) @@ -182,7 +176,6 @@ def upgrade(): sa.Column('deleted_at', sa.DateTime(), nullable=True), sa.ForeignKeyConstraint(['organization_id'], ['organizations.id'], ), sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id'), sa.UniqueConstraint('organization_id', 'name', name='uix_org_dept_name') ) op.create_index(op.f('ix_departments_name'), 'departments', ['name'], unique=False) @@ -202,8 +195,7 @@ def upgrade(): sa.Column('deleted_at', sa.DateTime(), nullable=True), sa.ForeignKeyConstraint(['organization_id'], ['organizations.id'], ), sa.ForeignKeyConstraint(['user_id'], ['users.id'], ), - sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id') + sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_devices_node_id'), 'devices', ['node_id'], unique=False) op.create_index(op.f('ix_devices_organization_id'), 'devices', ['organization_id'], unique=False) @@ -218,8 +210,7 @@ def upgrade(): sa.Column('updated_at', sa.DateTime(), nullable=False), sa.Column('deleted_at', sa.DateTime(), nullable=True), sa.ForeignKeyConstraint(['user_id'], ['users.id'], ondelete='CASCADE'), - sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id') + sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_email_verification_tokens_token'), 'email_verification_tokens', ['token'], unique=True) op.create_index(op.f('ix_email_verification_tokens_user_id'), 'email_verification_tokens', ['user_id'], unique=False) @@ -242,7 +233,6 @@ def upgrade(): sa.Column('deleted_at', sa.DateTime(), nullable=True), sa.ForeignKeyConstraint(['organization_id'], ['organizations.id'], ), sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id'), sa.UniqueConstraint('organization_id', 'provider_type', name='uix_org_provider_type') ) op.create_index('idx_provider_config_org', 'external_provider_configs', ['organization_id', 'provider_type'], unique=False) @@ -262,8 +252,7 @@ def upgrade(): sa.ForeignKeyConstraint(['organization_id'], ['organizations.id'], ), sa.ForeignKeyConstraint(['target_user_id'], ['users.id'], ), sa.ForeignKeyConstraint(['triggered_by_user_id'], ['users.id'], ), - sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id') + sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_kill_switch_events_organization_id'), 'kill_switch_events', ['organization_id'], unique=False) op.create_index(op.f('ix_kill_switch_events_target_user_id'), 'kill_switch_events', ['target_user_id'], unique=False) @@ -285,7 +274,6 @@ def upgrade(): sa.ForeignKeyConstraint(['organization_id'], ['organizations.id'], ), sa.ForeignKeyConstraint(['user_id'], ['users.id'], ), sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id'), sa.UniqueConstraint('user_id', 'organization_id', name='uix_user_org_compliance') ) op.create_index(op.f('ix_mfa_policy_compliance_organization_id'), 'mfa_policy_compliance', ['organization_id'], unique=False) @@ -310,8 +298,7 @@ def upgrade(): sa.Column('deleted_at', sa.DateTime(), nullable=True), sa.ForeignKeyConstraint(['organization_id'], ['organizations.id'], ), sa.ForeignKeyConstraint(['user_id'], ['users.id'], ), - sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id') + sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_oauth_states_expires_at'), 'oauth_states', ['expires_at'], unique=False) op.create_index(op.f('ix_oauth_states_organization_id'), 'oauth_states', ['organization_id'], unique=False) @@ -340,8 +327,7 @@ def upgrade(): sa.Column('updated_at', sa.DateTime(), nullable=False), sa.Column('deleted_at', sa.DateTime(), nullable=True), sa.ForeignKeyConstraint(['organization_id'], ['organizations.id'], ), - sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id') + sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_oidc_clients_client_id'), 'oidc_clients', ['client_id'], unique=True) op.create_index(op.f('ix_oidc_clients_organization_id'), 'oidc_clients', ['organization_id'], unique=False) @@ -359,8 +345,7 @@ def upgrade(): sa.Column('deleted_at', sa.DateTime(), nullable=True), sa.ForeignKeyConstraint(['invited_by_id'], ['users.id'], ondelete='SET NULL'), sa.ForeignKeyConstraint(['organization_id'], ['organizations.id'], ondelete='CASCADE'), - sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id') + sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_org_invite_tokens_email'), 'org_invite_tokens', ['email'], unique=False) op.create_index(op.f('ix_org_invite_tokens_organization_id'), 'org_invite_tokens', ['organization_id'], unique=False) @@ -379,8 +364,7 @@ def upgrade(): sa.Column('updated_at', sa.DateTime(), nullable=False), sa.Column('deleted_at', sa.DateTime(), nullable=True), sa.ForeignKeyConstraint(['organization_id'], ['organizations.id'], ), - sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id') + sa.PrimaryKeyConstraint('id') ) op.create_index('idx_api_key_last_used', 'organization_api_keys', ['last_used_at'], unique=False) op.create_index('idx_org_api_key_org_active', 'organization_api_keys', ['organization_id', 'is_revoked'], unique=False) @@ -402,7 +386,6 @@ def upgrade(): sa.ForeignKeyConstraint(['organization_id'], ['organizations.id'], ), sa.ForeignKeyConstraint(['user_id'], ['users.id'], ), sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id'), sa.UniqueConstraint('user_id', 'organization_id', name='uix_user_org') ) op.create_index(op.f('ix_organization_members_organization_id'), 'organization_members', ['organization_id'], unique=False) @@ -421,7 +404,6 @@ def upgrade(): sa.Column('deleted_at', sa.DateTime(), nullable=True), sa.ForeignKeyConstraint(['organization_id'], ['organizations.id'], ), sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id'), sa.UniqueConstraint('organization_id', 'provider_type', name='uix_org_provider_override_type') ) op.create_index(op.f('ix_organization_provider_overrides_organization_id'), 'organization_provider_overrides', ['organization_id'], unique=False) @@ -439,8 +421,7 @@ def upgrade(): sa.Column('deleted_at', sa.DateTime(), nullable=True), sa.ForeignKeyConstraint(['organization_id'], ['organizations.id'], ), sa.ForeignKeyConstraint(['updated_by_user_id'], ['users.id'], ), - sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id') + sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_organization_security_policies_organization_id'), 'organization_security_policies', ['organization_id'], unique=True) op.create_table('password_reset_tokens', @@ -453,8 +434,7 @@ def upgrade(): sa.Column('updated_at', sa.DateTime(), nullable=False), sa.Column('deleted_at', sa.DateTime(), nullable=True), sa.ForeignKeyConstraint(['user_id'], ['users.id'], ondelete='CASCADE'), - sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id') + sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_password_reset_tokens_token'), 'password_reset_tokens', ['token'], unique=True) op.create_index(op.f('ix_password_reset_tokens_user_id'), 'password_reset_tokens', ['user_id'], unique=False) @@ -476,7 +456,6 @@ def upgrade(): sa.ForeignKeyConstraint(['organization_id'], ['organizations.id'], ), sa.ForeignKeyConstraint(['owner_user_id'], ['users.id'], ), sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id'), sa.UniqueConstraint('organization_id', 'zerotier_network_id', name='uix_org_zt_network_id') ) op.create_index(op.f('ix_portal_networks_organization_id'), 'portal_networks', ['organization_id'], unique=False) @@ -491,7 +470,6 @@ def upgrade(): sa.Column('deleted_at', sa.DateTime(), nullable=True), sa.ForeignKeyConstraint(['organization_id'], ['organizations.id'], ), sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id'), sa.UniqueConstraint('organization_id', 'name', name='uix_org_principal_name') ) op.create_index(op.f('ix_principals_name'), 'principals', ['name'], unique=False) @@ -513,8 +491,7 @@ def upgrade(): sa.Column('updated_at', sa.DateTime(), nullable=False), sa.Column('deleted_at', sa.DateTime(), nullable=True), sa.ForeignKeyConstraint(['user_id'], ['users.id'], ), - sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id') + sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_sessions_token'), 'sessions', ['token'], unique=True) op.create_index(op.f('ix_sessions_user_id'), 'sessions', ['user_id'], unique=False) @@ -536,7 +513,6 @@ def upgrade(): sa.Column('deleted_at', sa.DateTime(), nullable=True), sa.ForeignKeyConstraint(['user_id'], ['users.id'], ), sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id'), sa.UniqueConstraint('payload') ) op.create_index('idx_ssh_key_user_verified', 'ssh_keys', ['user_id', 'verified'], unique=False) @@ -556,7 +532,6 @@ def upgrade(): sa.ForeignKeyConstraint(['organization_id'], ['organizations.id'], ), sa.ForeignKeyConstraint(['user_id'], ['users.id'], ), sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id'), sa.UniqueConstraint('user_id', 'organization_id', name='uix_user_org_policy') ) op.create_index(op.f('ix_user_security_policies_organization_id'), 'user_security_policies', ['organization_id'], unique=False) @@ -572,8 +547,7 @@ def upgrade(): sa.ForeignKeyConstraint(['ca_id'], ['cas.id'], ondelete='CASCADE'), sa.ForeignKeyConstraint(['user_id'], ['users.id'], ondelete='CASCADE'), sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('ca_id', 'user_id', name='uix_ca_permission'), - sa.UniqueConstraint('id') + sa.UniqueConstraint('ca_id', 'user_id', name='uix_ca_permission') ) op.create_index(op.f('ix_ca_permissions_ca_id'), 'ca_permissions', ['ca_id'], unique=False) op.create_index(op.f('ix_ca_permissions_user_id'), 'ca_permissions', ['user_id'], unique=False) @@ -589,8 +563,7 @@ def upgrade(): sa.Column('updated_at', sa.DateTime(), nullable=False), sa.Column('deleted_at', sa.DateTime(), nullable=True), sa.ForeignKeyConstraint(['department_id'], ['departments.id'], ), - sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id') + sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_department_cert_policies_department_id'), 'department_cert_policies', ['department_id'], unique=True) op.create_table('department_memberships', @@ -603,7 +576,6 @@ def upgrade(): sa.ForeignKeyConstraint(['department_id'], ['departments.id'], ), sa.ForeignKeyConstraint(['user_id'], ['users.id'], ), sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id'), sa.UniqueConstraint('user_id', 'department_id', name='uix_user_dept') ) op.create_index(op.f('ix_department_memberships_department_id'), 'department_memberships', ['department_id'], unique=False) @@ -618,8 +590,7 @@ def upgrade(): sa.ForeignKeyConstraint(['department_id'], ['departments.id'], ), sa.ForeignKeyConstraint(['principal_id'], ['principals.id'], ), sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('department_id', 'principal_id', name='uix_dept_principal'), - sa.UniqueConstraint('id') + sa.UniqueConstraint('department_id', 'principal_id', name='uix_dept_principal') ) op.create_index(op.f('ix_department_principals_department_id'), 'department_principals', ['department_id'], unique=False) op.create_index(op.f('ix_department_principals_principal_id'), 'department_principals', ['principal_id'], unique=False) @@ -640,8 +611,7 @@ def upgrade(): sa.Column('deleted_at', sa.DateTime(), nullable=True), sa.ForeignKeyConstraint(['client_id'], ['oidc_clients.id'], ), sa.ForeignKeyConstraint(['user_id'], ['users.id'], ), - sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id') + sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_oidc_audit_logs_client_id'), 'oidc_audit_logs', ['client_id'], unique=False) op.create_index(op.f('ix_oidc_audit_logs_event_type'), 'oidc_audit_logs', ['event_type'], unique=False) @@ -668,8 +638,7 @@ def upgrade(): sa.Column('deleted_at', sa.DateTime(), nullable=True), sa.ForeignKeyConstraint(['client_id'], ['oidc_clients.id'], ), sa.ForeignKeyConstraint(['user_id'], ['users.id'], ), - sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id') + sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_oidc_authorization_codes_client_id'), 'oidc_authorization_codes', ['client_id'], unique=False) op.create_index(op.f('ix_oidc_authorization_codes_expires_at'), 'oidc_authorization_codes', ['expires_at'], unique=False) @@ -693,8 +662,7 @@ def upgrade(): sa.Column('deleted_at', sa.DateTime(), nullable=True), sa.ForeignKeyConstraint(['client_id'], ['oidc_clients.id'], ), sa.ForeignKeyConstraint(['user_id'], ['users.id'], ), - sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id') + sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_oidc_refresh_tokens_access_token_id'), 'oidc_refresh_tokens', ['access_token_id'], unique=False) op.create_index(op.f('ix_oidc_refresh_tokens_client_id'), 'oidc_refresh_tokens', ['client_id'], unique=False) @@ -718,8 +686,7 @@ def upgrade(): sa.Column('deleted_at', sa.DateTime(), nullable=True), sa.ForeignKeyConstraint(['client_id'], ['oidc_clients.id'], ), sa.ForeignKeyConstraint(['user_id'], ['users.id'], ), - sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id') + sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_oidc_sessions_client_id'), 'oidc_sessions', ['client_id'], unique=False) op.create_index(op.f('ix_oidc_sessions_expires_at'), 'oidc_sessions', ['expires_at'], unique=False) @@ -755,7 +722,6 @@ def upgrade(): sa.ForeignKeyConstraint(['principal_id'], ['principals.id'], ), sa.ForeignKeyConstraint(['user_id'], ['users.id'], ), sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id'), sa.UniqueConstraint('user_id', 'principal_id', name='uix_user_principal') ) op.create_index(op.f('ix_principal_memberships_principal_id'), 'principal_memberships', ['principal_id'], unique=False) @@ -787,8 +753,7 @@ def upgrade(): sa.ForeignKeyConstraint(['ssh_key_id'], ['ssh_keys.id'], ), sa.ForeignKeyConstraint(['user_id'], ['users.id'], ), sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('ca_id', 'serial', name='uq_ssh_certificates_ca_serial'), - sa.UniqueConstraint('id') + sa.UniqueConstraint('ca_id', 'serial', name='uq_ssh_certificates_ca_serial') ) op.create_index('idx_cert_revoked', 'ssh_certificates', ['revoked', 'revoked_at'], unique=False) op.create_index('idx_cert_user_status', 'ssh_certificates', ['user_id', 'status'], unique=False) @@ -816,7 +781,6 @@ def upgrade(): sa.ForeignKeyConstraint(['portal_network_id'], ['portal_networks.id'], ), sa.ForeignKeyConstraint(['user_id'], ['users.id'], ), sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id'), sa.UniqueConstraint('user_id', 'portal_network_id', 'deleted_at', name='uix_user_network_approval') ) op.create_index(op.f('ix_user_network_approvals_organization_id'), 'user_network_approvals', ['organization_id'], unique=False) @@ -840,8 +804,7 @@ def upgrade(): sa.Column('deleted_at', sa.DateTime(), nullable=True), sa.ForeignKeyConstraint(['certificate_id'], ['ssh_certificates.id'], ), sa.ForeignKeyConstraint(['user_id'], ['users.id'], ), - sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id') + sa.PrimaryKeyConstraint('id') ) op.create_index('idx_cert_audit_cert_action', 'certificate_audit_logs', ['certificate_id', 'action'], unique=False) op.create_index('idx_cert_audit_user', 'certificate_audit_logs', ['user_id', 'created_at'], unique=False) @@ -868,8 +831,7 @@ def upgrade(): sa.ForeignKeyConstraint(['user_id'], ['users.id'], ), sa.ForeignKeyConstraint(['user_network_approval_id'], ['user_network_approvals.id'], ), sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('device_id', 'portal_network_id', 'deleted_at', name='uix_device_network'), - sa.UniqueConstraint('id') + sa.UniqueConstraint('device_id', 'portal_network_id', 'deleted_at', name='uix_device_network') ) op.create_index(op.f('ix_device_network_memberships_device_id'), 'device_network_memberships', ['device_id'], unique=False) op.create_index(op.f('ix_device_network_memberships_organization_id'), 'device_network_memberships', ['organization_id'], unique=False) @@ -894,8 +856,7 @@ def upgrade(): sa.ForeignKeyConstraint(['device_network_membership_id'], ['device_network_memberships.id'], ), sa.ForeignKeyConstraint(['organization_id'], ['organizations.id'], ), sa.ForeignKeyConstraint(['user_id'], ['users.id'], ), - sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id') + sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_activation_sessions_device_network_membership_id'), 'activation_sessions', ['device_network_membership_id'], unique=False) op.create_index(op.f('ix_activation_sessions_organization_id'), 'activation_sessions', ['organization_id'], unique=False) @@ -917,7 +878,6 @@ def upgrade(): sa.ForeignKeyConstraint(['device_network_membership_id'], ['device_network_memberships.id'], ), sa.ForeignKeyConstraint(['organization_id'], ['organizations.id'], ), sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('id'), sa.UniqueConstraint('zerotier_network_id', 'node_id', name='uix_zt_network_node') ) op.create_index(op.f('ix_zerotier_memberships_device_network_membership_id'), 'zerotier_memberships', ['device_network_membership_id'], unique=False) diff --git a/migrations/versions/8f2d9e4a7c1b_add_org_id_to_cert_audit_logs.py b/migrations/versions/8f2d9e4a7c1b_add_org_id_to_cert_audit_logs.py index 4e81698..6d9c656 100644 --- a/migrations/versions/8f2d9e4a7c1b_add_org_id_to_cert_audit_logs.py +++ b/migrations/versions/8f2d9e4a7c1b_add_org_id_to_cert_audit_logs.py @@ -24,7 +24,7 @@ def upgrade(): # Create index on organization_id op.create_index( - 'idx_cert_audit_org', + op.f('ix_certificate_audit_logs_organization_id'), 'certificate_audit_logs', ['organization_id'] ) @@ -44,7 +44,7 @@ def downgrade(): op.drop_constraint('fk_cert_audit_log_organization', 'certificate_audit_logs', type_='foreignkey') # Drop index - op.drop_index('idx_cert_audit_org', 'certificate_audit_logs') + op.drop_index(op.f('ix_certificate_audit_logs_organization_id'), 'certificate_audit_logs') # Drop organization_id column op.drop_column('certificate_audit_logs', 'organization_id') diff --git a/migrations/versions/b4cd6c6b3b1c_superadmin.py b/migrations/versions/b4cd6c6b3b1c_superadmin.py index e542936..9bddeb4 100644 --- a/migrations/versions/b4cd6c6b3b1c_superadmin.py +++ b/migrations/versions/b4cd6c6b3b1c_superadmin.py @@ -30,7 +30,6 @@ def upgrade(): sa.Column('updated_at', sa.DateTime(), nullable=False), sa.Column('deleted_at', sa.DateTime(), nullable=True), sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('email'), ) op.create_index(op.f('ix_superadmins_email'), 'superadmins', ['email'], unique=True) @@ -50,7 +49,6 @@ def upgrade(): sa.Column('deleted_at', sa.DateTime(), nullable=True), sa.ForeignKeyConstraint(['superadmin_id'], ['superadmins.id']), sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('token'), ) op.create_index(op.f('ix_superadmin_sessions_superadmin_id'), 'superadmin_sessions', ['superadmin_id']) op.create_index(op.f('ix_superadmin_sessions_token'), 'superadmin_sessions', ['token'], unique=True) @@ -83,101 +81,8 @@ def upgrade(): op.create_index(op.f('ix_superadmin_audit_logs_org_id'), 'superadmin_audit_logs', ['org_id']) op.create_index(op.f('ix_superadmin_audit_logs_user_id'), 'superadmin_audit_logs', ['user_id']) - # ### commands auto generated by Alembic - please adjust! ### - # Add unique constraints on id columns for all existing tables - op.create_unique_constraint(None, 'activation_sessions', ['id']) - op.create_unique_constraint(None, 'application_provider_configs', ['id']) - op.create_unique_constraint(None, 'audit_logs', ['id']) - op.create_unique_constraint(None, 'authentication_methods', ['id']) - op.create_unique_constraint(None, 'ca_permissions', ['id']) - op.create_unique_constraint(None, 'cas', ['id']) - op.create_unique_constraint(None, 'certificate_audit_logs', ['id']) - op.create_unique_constraint(None, 'department_cert_policies', ['id']) - op.create_unique_constraint(None, 'department_memberships', ['id']) - op.create_unique_constraint(None, 'department_principals', ['id']) - op.create_unique_constraint(None, 'departments', ['id']) - op.create_unique_constraint(None, 'device_network_memberships', ['id']) - op.create_unique_constraint(None, 'devices', ['id']) - op.create_unique_constraint(None, 'email_verification_tokens', ['id']) - op.create_unique_constraint(None, 'external_provider_configs', ['id']) - op.create_unique_constraint(None, 'kill_switch_events', ['id']) - op.create_unique_constraint(None, 'mfa_policy_compliance', ['id']) - op.create_unique_constraint(None, 'oauth_states', ['id']) - op.create_unique_constraint(None, 'oidc_audit_logs', ['id']) - op.create_unique_constraint(None, 'oidc_authorization_codes', ['id']) - op.create_unique_constraint(None, 'oidc_clients', ['id']) - op.create_unique_constraint(None, 'oidc_refresh_tokens', ['id']) - op.create_unique_constraint(None, 'oidc_sessions', ['id']) - op.create_unique_constraint(None, 'org_invite_tokens', ['id']) - op.create_unique_constraint(None, 'organization_api_keys', ['id']) - op.create_unique_constraint(None, 'organization_members', ['id']) - op.create_unique_constraint(None, 'organization_provider_overrides', ['id']) - op.create_unique_constraint(None, 'organization_security_policies', ['id']) - op.create_unique_constraint(None, 'organizations', ['id']) - op.create_unique_constraint(None, 'password_reset_tokens', ['id']) - op.create_unique_constraint(None, 'portal_networks', ['id']) - op.create_unique_constraint(None, 'principal_memberships', ['id']) - op.create_unique_constraint(None, 'principals', ['id']) - op.create_unique_constraint(None, 'sessions', ['id']) - op.create_unique_constraint(None, 'ssh_certificates', ['id']) - op.create_unique_constraint(None, 'ssh_keys', ['id']) - op.create_unique_constraint(None, 'superadmin_audit_logs', ['id']) - op.create_unique_constraint(None, 'superadmin_sessions', ['id']) - op.create_unique_constraint(None, 'superadmins', ['id']) - op.create_unique_constraint(None, 'user_network_approvals', ['id']) - op.create_unique_constraint(None, 'user_security_policies', ['id']) - op.create_unique_constraint(None, 'users', ['id']) - op.create_unique_constraint(None, 'zerotier_memberships', ['id']) - # ### end Alembic commands ### - def downgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.drop_constraint(None, 'zerotier_memberships', type_='unique') - op.drop_constraint(None, 'users', type_='unique') - op.drop_constraint(None, 'user_security_policies', type_='unique') - op.drop_constraint(None, 'user_network_approvals', type_='unique') - op.drop_constraint(None, 'superadmins', type_='unique') - op.drop_constraint(None, 'superadmin_sessions', type_='unique') - op.drop_constraint(None, 'superadmin_audit_logs', type_='unique') - op.drop_constraint(None, 'ssh_keys', type_='unique') - op.drop_constraint(None, 'ssh_certificates', type_='unique') - op.drop_constraint(None, 'sessions', type_='unique') - op.drop_constraint(None, 'principals', type_='unique') - op.drop_constraint(None, 'principal_memberships', type_='unique') - op.drop_constraint(None, 'portal_networks', type_='unique') - op.drop_constraint(None, 'password_reset_tokens', type_='unique') - op.drop_constraint(None, 'organizations', type_='unique') - op.drop_constraint(None, 'organization_security_policies', type_='unique') - op.drop_constraint(None, 'organization_provider_overrides', type_='unique') - op.drop_constraint(None, 'organization_members', type_='unique') - op.drop_constraint(None, 'organization_api_keys', type_='unique') - op.drop_constraint(None, 'org_invite_tokens', type_='unique') - op.drop_constraint(None, 'oidc_sessions', type_='unique') - op.drop_constraint(None, 'oidc_refresh_tokens', type_='unique') - op.drop_constraint(None, 'oidc_clients', type_='unique') - op.drop_constraint(None, 'oidc_authorization_codes', type_='unique') - op.drop_constraint(None, 'oidc_audit_logs', type_='unique') - op.drop_constraint(None, 'oauth_states', type_='unique') - op.drop_constraint(None, 'mfa_policy_compliance', type_='unique') - op.drop_constraint(None, 'kill_switch_events', type_='unique') - op.drop_constraint(None, 'external_provider_configs', type_='unique') - op.drop_constraint(None, 'email_verification_tokens', type_='unique') - op.drop_constraint(None, 'devices', type_='unique') - op.drop_constraint(None, 'device_network_memberships', type_='unique') - op.drop_constraint(None, 'departments', type_='unique') - op.drop_constraint(None, 'department_principals', type_='unique') - op.drop_constraint(None, 'department_memberships', type_='unique') - op.drop_constraint(None, 'department_cert_policies', type_='unique') - op.drop_constraint(None, 'certificate_audit_logs', type_='unique') - op.drop_constraint(None, 'cas', type_='unique') - op.drop_constraint(None, 'ca_permissions', type_='unique') - op.drop_constraint(None, 'authentication_methods', type_='unique') - op.drop_constraint(None, 'audit_logs', type_='unique') - op.drop_constraint(None, 'application_provider_configs', type_='unique') - op.drop_constraint(None, 'activation_sessions', type_='unique') - # ### end Alembic commands ### - # --- Drop superadmin tables (reverse order due to FK dependencies) --- op.drop_index(op.f('ix_superadmin_audit_logs_user_id'), table_name='superadmin_audit_logs') op.drop_index(op.f('ix_superadmin_audit_logs_org_id'), table_name='superadmin_audit_logs')