飞致云-批量添加工作空间

记录一下探索飞致云通过SQL实现添加工作空间功能

飞致云数据库表 tag_value 的表结构如下:

id tag_key tag_value tag_value_alias create_tiem enable _index
uuid() uuid() uuid() 工作空间名称 timestamp * 1000 1 0
uuid() X级组织 uuid() 工作空间名称 timestamp * 1000 1 0

上述结构同创建组织,创建工作空间需要对 tag_value 表插入两行数据

1
2
3
4
5
6
7
8
INSERT INTO `fit2cloud`.`tag_value`
VALUES ('c24df405-5643-4605-b374-c177eb28b88f',
'b7c8b09d-3450-452f-b294-b8890d5e6461',
'c71d9134-d8b4-43d5-b9d8-362c3a545a6a',
'脚本测试工作空间',
'1608784272909',
1,
0);

上述脚本中 tag_key 字段表示的是工作空间关联的 organization_id

1
2
3
4
5
6
7
8
INSERT INTO `fit2cloud`.`tag_value`
VALUES ('b4d9a5c5-53e3-40a6-9b36-96a08ffe8dc9',
'四级组织',
'c71d9134-d8b4-43d5-b9d8-362c3a545a6a',
'脚本测试工作空间',
'1608799272909',
1,
0);

上述脚本同创建组织,工作空间在 tag_value 表中,等于组织的下级组织 例如 脚本测试组织金风科技-脚本测试 的下级组织,即 三级组织,那么创建的 脚本测试工作空间 如果挂载到该组织下,在 tag_value 表中就需要插入一条 脚本测试工作空间 关联 脚本测试组织 的条目,即 脚本测试工作空间四级组织,上级组织为 脚本测试组织

飞致云数据库表 organization 的表结构如下:

id organization_id name description create_time
uuid() uuid() 工作空间名称 工作空间描述 timestamp * 1000
1
2
3
4
5
6
INSERT INTO `fit2cloud`.`workspace`
VALUES ('c71d9134-d8b4-43d5-b9d8-362c3a545a6a',
'b7c8b09d-3450-452f-b294-b8890d5e6461',
'脚本测试工作空间',
'测试工作空间-仅用于脚本测试',
'1625584272909');

最后,插入数据到 workspace 表中即可