kingbase数据库

lrf d7da73e82f 邮件找回密码 6 months ago
importData 8962dcd03a update 7 months ago
src d7da73e82f 邮件找回密码 6 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 f95030e593 消息发送 7 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 => dayjs(value).format('YYYY-MM-DD HH:mm:ss'), 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 表名));