123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- -- 微信用户表DDL脚本
- -- 用于存储微信注册登录用户信息
- create table public.wechat_users
- (
- id serial
- primary key,
- openid varchar(255) not null unique,
- phone_number varchar(20),
- id_card_number varchar(18),
- login_status boolean default false not null,
- login_time timestamp with time zone,
- user_status varchar(20) default 'active' not null,
- created_at timestamp with time zone default current_timestamp not null,
- updated_at timestamp with time zone default current_timestamp not null
- );
- comment on table public.wechat_users is '微信用户信息表';
- comment on column public.wechat_users.id is '主键ID';
- comment on column public.wechat_users.openid is '微信用户openid,唯一标识';
- comment on column public.wechat_users.phone_number is '用户手机号码';
- comment on column public.wechat_users.id_card_number is '用户身份证号码';
- comment on column public.wechat_users.login_status is '当前登录状态,true表示已登录,false表示未登录';
- comment on column public.wechat_users.login_time is '最后登录时间';
- comment on column public.wechat_users.user_status is '用户账户状态:active-活跃,inactive-非活跃,suspended-暂停,deleted-已删除';
- comment on column public.wechat_users.created_at is '账户创建时间';
- comment on column public.wechat_users.updated_at is '信息更新时间';
- -- 创建索引以提高查询性能
- create index idx_wechat_users_openid on public.wechat_users(openid);
- create index idx_wechat_users_phone_number on public.wechat_users(phone_number);
- create index idx_wechat_users_login_status on public.wechat_users(login_status);
- create index idx_wechat_users_user_status on public.wechat_users(user_status);
- -- 创建更新时间触发器函数
- create or replace function update_updated_at_column()
- returns trigger as $$
- begin
- new.updated_at = current_timestamp;
- return new;
- end;
- $$ language plpgsql;
- -- 为表添加更新时间触发器
- create trigger update_wechat_users_updated_at
- before update on public.wechat_users
- for each row
- execute function update_updated_at_column();
|