DROP TABLE IF EXISTS customer;

CREATE TABLE customer
(
    id               BIGSERIAL PRIMARY KEY,
    customer_name    VARCHAR(255) NOT NULL,                             -- 客户名称
    taxpayer_id      VARCHAR(255) NOT NULL,                             -- 纳税人识别号
    business_province_id      INT8       NOT NULL    DEFAULT 0,         -- 经营地址省
    business_city_id          INT8       NOT NULL    DEFAULT 0,         -- 经营地址市
    business_district_id      INT8       NOT NULL    DEFAULT 0,         -- 经营地址区
    business_address VARCHAR(255) NOT NULL    DEFAULT '',               -- 经营详细地址
    bank_account     VARCHAR(255) NOT NULL    DEFAULT '',               -- 银行账号
    bank_name        VARCHAR(255) NOT NULL    DEFAULT '',               -- 开户行
    contact_person   VARCHAR(255) NOT NULL    DEFAULT '',               -- 联系人
    contact_phone    VARCHAR(255) NOT NULL    DEFAULT '',               -- 联系人电话
    province_id      INT8         NOT NULL    DEFAULT 0,                -- 联系地址省
    city_id          INT8       NOT NULL    DEFAULT 0,                  -- 联系地址市
    district_id      INT8       NOT NULL    DEFAULT 0,                  -- 联系地址区
    contact_address  VARCHAR(255) NOT NULL    DEFAULT '',               -- 联系详细地址

    deleted           INT          NOT NULL    DEFAULT 0,                 -- 软删除标志：0=未删除，1=已删除
    create_by         VARCHAR(255),                                       -- 创建人用户名
    create_time       TIMESTAMP WITHOUT TIME ZONE, -- 创建时间，默认当前时间
    update_by         VARCHAR(255),                                       -- 最后更新人用户名
    update_time       TIMESTAMP WITHOUT TIME ZONE  -- 最后更新时间，默认当前时间
);

COMMENT ON COLUMN customer.id IS '客户唯一标识，主键';
COMMENT ON COLUMN customer.customer_name IS '客户名称，不能为空';
COMMENT ON COLUMN customer.taxpayer_id IS '纳税人识别号，中国大陆为统一社会信用代码，不能为空';
COMMENT ON COLUMN customer.business_province_id IS '经营地址所在省份的地区ID，默认0';
COMMENT ON COLUMN customer.business_city_id IS '经营地址所在城市的地区ID，默认0';
COMMENT ON COLUMN customer.business_district_id IS '经营地址所在区县的地区ID，默认0';
COMMENT ON COLUMN customer.business_address IS '经营详细地址，默认空字符串';
COMMENT ON COLUMN customer.bank_account IS '银行账户号码，默认空字符串';
COMMENT ON COLUMN customer.bank_name IS '开户银行名称，默认空字符串';
COMMENT ON COLUMN customer.contact_person IS '客户联系人姓名，默认空字符串';
COMMENT ON COLUMN customer.contact_phone IS '联系人电话号码，默认空字符串';
COMMENT ON COLUMN customer.province_id IS '联系地址所在省份的地区ID，默认0';
COMMENT ON COLUMN customer.city_id IS '联系地址所在城市的地区ID，默认0';
COMMENT ON COLUMN customer.district_id IS '联系地址所在区县的地区ID，默认0';
COMMENT ON COLUMN customer.contact_address IS '联系详细地址，默认空字符串';
-- 新增字段的注释
COMMENT ON COLUMN customer.deleted IS '软删除标志，true表示已删除';
COMMENT ON COLUMN customer.create_by IS '创建人用户名';
COMMENT ON COLUMN customer.create_time IS '记录创建时间';
COMMENT ON COLUMN customer.update_by IS '最后更新人用户名';
COMMENT ON COLUMN customer.update_time IS '记录最后更新时间';

