跳到主要内容

数据和结构

规则

  • 主键 tagid_ULIDtagid_UUIDv7
  • 表名单数形式 - singularity
    • 特殊情况除外 - users, roles - 避免冲突
  • table prefix over schema
    • wecom.users -> wecom_users
    • 把 schema 保留给业务/租户
    • 让 schema 更容易迁移
    • 避免出错
  • 用 表 记录枚举
  • 用 表 记录 EntitySchema
  • 服务分层为
    • Resource - REST, GQL
    • EntityService - RPC - 走网络
    • Entity - Native
    • DB

i18n

  1. multi column
    create table article
    (
    title text,
    title_en text
    );
  2. by message id
    create table message
    (
    id text,
    text text,
    en text,
    en_US text,
    cn text,
    zh_CN text
    );
  3. by jsonb
    create table message
    (
    id text,
    title jsonb
    );
    insert into message (id, title)
    values ('help','{"zh_CN":"","en":""}'::jsonb);