Skip to content

创建树

FlexTree是基于左右值算法的树存储库,树是保存在数据库表中,所以创建树就是创建一张符合一定格式约定的数据库表

表结构

默认情况下,FlexTree要求每棵树表均至少具备以下字段

字段名称 数据类型 描述
id number 主键
name string 节点名称
level number 节点层级,0代表根节点,1-N代表第N级节点
leftValue number 左值
rightValue number 右值
treeId number 可选,多树表时用来区别不同的树

创建表

存储树的数据库表是由应用自行创建的,FlexTree不负责创建数据库表。

一般可以采用类似以下的SQL创建

sql
    CREATE TABLE IF NOT EXISTS  org (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        name VARCHAR(60),  
        level INTEGER,  
        leftValue INTEGER, 
        rightValue INTEGER,
        -- 其他字段

如果您使用prisma,也可以如下声明model

prisma
model Org {
  id            Int    @id @default(autoincrement())
  name          String?
  treeId        Int?
  level         Int?
  leftValue     Int?
  rightValue    Int? 
 //   其他字段       
}

自定义

默认情况下,树表要求具有idlevelleftValuerightValuename这五个必须的关健字段,如果想在一个表中存储多棵树,同还需要加上treeId字段。

如果您想自定义关健字段,包括关健字段的类型,比如将使用uuid作为主键,FlexTree完全支持自定义。

请参考自定义章节介绍。