006b_guard_users_allowed_groups.sql 835 B

123456789101112131415161718192021222324252627
  1. -- 兼容缺失 users.allowed_groups 的老库,确保 007 回填可执行。
  2. DO $$
  3. BEGIN
  4. IF EXISTS (
  5. SELECT 1
  6. FROM information_schema.tables
  7. WHERE table_schema = 'public'
  8. AND table_name = 'users'
  9. ) THEN
  10. IF NOT EXISTS (
  11. SELECT 1
  12. FROM information_schema.columns
  13. WHERE table_schema = 'public'
  14. AND table_name = 'users'
  15. AND column_name = 'allowed_groups'
  16. ) THEN
  17. IF NOT EXISTS (
  18. SELECT 1
  19. FROM schema_migrations
  20. WHERE filename = '014_drop_legacy_allowed_groups.sql'
  21. ) THEN
  22. ALTER TABLE users
  23. ADD COLUMN IF NOT EXISTS allowed_groups BIGINT[] DEFAULT NULL;
  24. END IF;
  25. END IF;
  26. END IF;
  27. END $$;