-- 微信用户表字段迁移脚本 -- 将 wechat_code 字段重命名为 openid -- 注意:执行前请备份数据! -- 检查表是否存在 DO $$ BEGIN IF EXISTS (SELECT FROM information_schema.tables WHERE table_schema = 'public' AND table_name = 'wechat_users') THEN -- 检查是否已经有openid字段 IF NOT EXISTS (SELECT FROM information_schema.columns WHERE table_schema = 'public' AND table_name = 'wechat_users' AND column_name = 'openid') THEN -- 如果存在wechat_code字段,则重命名 IF EXISTS (SELECT FROM information_schema.columns WHERE table_schema = 'public' AND table_name = 'wechat_users' AND column_name = 'wechat_code') THEN -- 重命名字段 ALTER TABLE public.wechat_users RENAME COLUMN wechat_code TO openid; -- 更新字段注释 COMMENT ON COLUMN public.wechat_users.openid IS '微信用户openid,唯一标识'; -- 重命名相关索引 IF EXISTS (SELECT FROM pg_class WHERE relname = 'idx_wechat_users_wechat_code') THEN DROP INDEX IF EXISTS public.idx_wechat_users_wechat_code; CREATE INDEX idx_wechat_users_openid ON public.wechat_users(openid); END IF; RAISE NOTICE '成功将 wechat_code 字段重命名为 openid'; ELSE RAISE NOTICE 'wechat_code 字段不存在,无需迁移'; END IF; ELSE RAISE NOTICE 'openid 字段已存在,无需迁移'; END IF; ELSE RAISE NOTICE 'wechat_users 表不存在,请先创建表'; END IF; END $$;