02-remove-organizations.sql 1.5 KB

1234567891011121314151617181920212223242526272829303132
  1. -- Migration: Remove organizations (single-tenant architecture)
  2. -- This migration converts the multi-tenant organization structure to single-tenant
  3. -- Step 1: Drop foreign key constraints that reference organizations
  4. ALTER TABLE api_keys DROP CONSTRAINT IF EXISTS api_keys_organization_id_fkey;
  5. ALTER TABLE applications DROP CONSTRAINT IF EXISTS applications_organization_id_fkey;
  6. ALTER TABLE audit_logs DROP CONSTRAINT IF EXISTS audit_logs_organization_id_fkey;
  7. -- Step 2: Drop indexes related to organizations
  8. DROP INDEX IF EXISTS idx_api_keys_org_id;
  9. DROP INDEX IF EXISTS idx_applications_org_id;
  10. DROP INDEX IF EXISTS idx_organization_members_org_id;
  11. DROP INDEX IF EXISTS idx_organization_members_user_id;
  12. DROP INDEX IF EXISTS idx_organizations_slug;
  13. DROP INDEX IF EXISTS idx_audit_logs_org_id;
  14. -- Step 3: Remove organization_id columns from tables
  15. ALTER TABLE applications DROP COLUMN IF EXISTS organization_id;
  16. ALTER TABLE api_keys DROP COLUMN IF EXISTS organization_id;
  17. ALTER TABLE audit_logs DROP COLUMN IF EXISTS organization_id;
  18. -- Step 4: Drop organization-related tables
  19. DROP TABLE IF EXISTS organization_members CASCADE;
  20. DROP TABLE IF EXISTS organizations CASCADE;
  21. -- Step 5: Update dashboard stats view (if any)
  22. -- No views to update in this case
  23. -- Verification queries (commented out - uncomment to verify)
  24. -- SELECT 'Applications' as table_name, COUNT(*) as count FROM applications;
  25. -- SELECT 'API Keys' as table_name, COUNT(*) as count FROM api_keys;
  26. -- SELECT 'Users' as table_name, COUNT(*) as count FROM users;