create table if not exists sys_company ( id bigint primary key, company_code varchar(64) not null unique, company_name varchar(128) not null, status varchar(32) not null, created_at timestamp default current_timestamp, updated_at timestamp default current_timestamp ); create table if not exists sys_user ( id bigint primary key, company_id bigint not null, phone varchar(32) not null, username varchar(64), role varchar(32) not null, position varchar(32) not null, real_name varchar(64) not null, password_hash varchar(255) not null, must_change_password boolean not null default true, status varchar(32) not null, session_version integer not null default 1, created_at timestamp default current_timestamp, updated_at timestamp default current_timestamp, constraint uq_sys_user_company_phone unique (company_id, phone) ); create table if not exists sys_menu ( id bigint primary key, company_id bigint not null, permission_code varchar(64) not null, menu_code varchar(64) not null, menu_name varchar(128) not null, path varchar(255) not null, sort_order integer not null default 0, created_at timestamp default current_timestamp, updated_at timestamp default current_timestamp ); create table if not exists biz_data_record ( id bigint primary key, company_id bigint not null, creator_id bigint not null, creator_role varchar(32) not null, record_name varchar(255) not null, created_at timestamp default current_timestamp, updated_at timestamp default current_timestamp );