kingbase数据库

zs 16d67dcc91 修改 2 months ago
importData c3c54a7931 update 6 months ago
src 16d67dcc91 修改 2 months ago
test 9de8eb16b5 init 10 months ago
.editorconfig 9de8eb16b5 init 10 months ago
.eslintrc.json 9de8eb16b5 init 10 months ago
.gitignore 9de8eb16b5 init 10 months ago
.prettierrc.js 9de8eb16b5 init 10 months ago
README.md 485bfe2a4e 修改时间处理 6 months ago
README.zh-CN.md 9de8eb16b5 init 10 months ago
bootstrap.js 9de8eb16b5 init 10 months ago
ecosystem.config.js c0c3e5c9e2 添加pm2文件和本机启动配置文件,本机启动指令 10 months ago
jest.config.js 9de8eb16b5 init 10 months ago
package-lock.json d7da73e82f 邮件找回密码 6 months ago
package.json d7da73e82f 邮件找回密码 6 months ago
tsconfig.json 0913556669 update 7 months ago

README.md

sql 项目转换后的注意事项

1.数据库数据类型

1.1 字符串,有长度的使用 character varying; 不加限制的使用 text

1.2 数字使用 integer; 金额使用 money

1.3 时间使用 timestamp without time zone

开始时间与结束时间都分为 2 个字段 表属性在 Column 装饰器上添加:

transformer: { from: value => (value ? dayjs(value).format('YYYY-MM-DD HH:mm:ss') : value), to: value => value }

用来格式化输出格式

1.4 不能像 mongodb 一样轻易使用 JSON 文档模式

  • 因为 JSONB 数据中,只有精确查询: Array<any>:[1,2,3] JSONB_CONTAINS/JSONB_EXISTS(column, :column)', { column: 1 } object: {test:'123'} JSONB_CONTAINS(column, :val)', { val: { test: '123' } } Array<object> where "${root_column}" @> '[{"${key}": ${value} }]' 导致文档模式查询会变得不可能,所以使用 JSONB 数据格式的情况,只有准确查询; 将文档模式的设计变成表关联,联查出来

2.数据库导入

2.1 带 id 导入数据

带 id 导入数据后,需要执行数据库命令,使 id 的序列从导入数据的最后一条数据开始,否则会出现 id 已存在问题:

  SELECT setval('"company_id_seq"', (SELECT max(id) FROM "company"));
  SELECT setval('"表名_唯一约束的字段_seq"', (SELECT max(唯一约束的字段) FROM 表名));