找回密码
 注册【用户名必须为中文字符】

QQ登录

只需一步,快速开始

进销存系统数据隔离

admin 回复:0 | 查看:3518 | 发表于 2020-2-26 23:32:58 |阅读模式 |复制链接
隔离的方式
每一张表都会有一个租户 id,每一次操作都会写入对应的租户 id,以保证数据的隔离识别性。
  1. -- ----------------------------
  2. -- 时间:2019年3月18日
  3. -- version:1.0.11
  4. -- 此次更新
  5. -- 1、批量增加大部分表的tenant_id租户字段
  6. -- 特别提醒:之后的sql都是在之前基础上迭代,可以对已存在的系统进行数据保留更新
  7. -- ----------------------------
  8. alter table jsh_account add tenant_id bigint(20) DEFAULT null COMMENT '租户id';
  9. alter table jsh_accounthead add tenant_id bigint(20) DEFAULT null COMMENT '租户id';
  10. alter table jsh_accountitem add tenant_id bigint(20) DEFAULT null COMMENT '租户id';
  11. alter table jsh_asset add tenant_id bigint(20) DEFAULT null COMMENT '租户id';
  12. alter table jsh_assetcategory add tenant_id bigint(20) DEFAULT null COMMENT '租户id';
  13. alter table jsh_assetname add tenant_id bigint(20) DEFAULT null COMMENT '租户id';
  14. alter table jsh_depot add tenant_id bigint(20) DEFAULT null COMMENT '租户id';
  15. alter table jsh_depothead add tenant_id bigint(20) DEFAULT null COMMENT '租户id';
  16. alter table jsh_depotitem add tenant_id bigint(20) DEFAULT null COMMENT '租户id';
  17. alter table jsh_inoutitem add tenant_id bigint(20) DEFAULT null COMMENT '租户id';
  18. alter table jsh_log add tenant_id bigint(20) DEFAULT null COMMENT '租户id';
  19. alter table jsh_material add tenant_id bigint(20) DEFAULT null COMMENT '租户id';
  20. alter table jsh_materialcategory add tenant_id bigint(20) DEFAULT null COMMENT '租户id';
  21. alter table jsh_orga_user_rel add tenant_id bigint(20) DEFAULT null COMMENT '租户id';
  22. alter table jsh_organization add tenant_id bigint(20) DEFAULT null COMMENT '租户id';
  23. alter table jsh_person add tenant_id bigint(20) DEFAULT null COMMENT '租户id';
  24. alter table jsh_role add tenant_id bigint(20) DEFAULT null COMMENT '租户id';
  25. alter table jsh_serial_number add tenant_id bigint(20) DEFAULT null COMMENT '租户id';
  26. alter table jsh_supplier add tenant_id bigint(20) DEFAULT null COMMENT '租户id';
  27. alter table jsh_systemconfig add tenant_id bigint(20) DEFAULT null COMMENT '租户id';
  28. alter table jsh_unit add tenant_id bigint(20) DEFAULT null COMMENT '租户id';
  29. alter table jsh_user add tenant_id bigint(20) DEFAULT null COMMENT '租户id';
复制代码
  1. -- ----------------------------
  2. -- 时间:2019年4月24日
  3. -- version:1.0.14
  4. -- 此次更新
  5. -- 1、批量增加部分表的tenant_id租户字段
  6. -- 特别提醒:之后的sql都是在之前基础上迭代,可以对已存在的系统进行数据保留更新
  7. -- ----------------------------
  8. alter table databasechangelog add tenant_id bigint(20) DEFAULT null COMMENT '租户id';
  9. alter table databasechangeloglock add tenant_id bigint(20) DEFAULT null COMMENT '租户id';
  10. alter table jsh_app add tenant_id bigint(20) DEFAULT null COMMENT '租户id';
  11. alter table jsh_functions add tenant_id bigint(20) DEFAULT null COMMENT '租户id';
  12. alter table jsh_materialproperty add tenant_id bigint(20) DEFAULT null COMMENT '租户id';
  13. alter table jsh_userbusiness add tenant_id bigint(20) DEFAULT null COMMENT '租户id';
复制代码
注册时初始化
注册时需要给注册用户创建一个独立的空间(数据初始化)。
需要初始化的数据[td]

注册时验证登录名和用户名是否存在
登录名保持全局唯一,不然两个公司的员工用相同的登录名无法识别。
用户名同一个租户范围内内唯一
添加新用户需要对新用户进行数据范围界定添加用户数据范围界定
添加新用户时,该用户可以使用的数据空间需要做一个界定,最大范围一定是创建该用户的租户所能达到的范围,但最小范围是什么呢?

添加新用户登录名和用户名校验
登录名保持全局唯一,不然两个公司的员工用相同的登录名无法识别。
用户名同一个租户范围内内唯一
sequence 表
sequence 表中用于生成单据编号的 depot_number_seq 取值范围为 -9223372036854775808 - 9223372036854775807
在这样的大数量级下,可以不做隔离,但是用户多起来之后会达到 mysql 的写入性能瓶颈,在那种情况下就需要考虑用特殊的方式去维护。

回复

使用道具 举报

本版积分规则

联系我们

对话产生契机,讨论收获惊喜, 只为成就无限创举

江苏省南通市通州区太湖路88号

欢迎来这里一起喝喝茶,
聊聊你的想法

15806283912
(9:00AM-6:00PM)

一切从沟通开始

洽谈合作
752718920@qq.com

工作日12小时内回复

微信号
shenhua861584

欢迎每一个对事业怀
有疯狂激情的人

登录 发布 快速回复 返回顶部 返回列表