Skip to content

D2模型生成器

md
根据这个lua代码里面定义的模型, 使用d2给我画出各个表之间的关系, 具体说明:
1. 要能够使用箭头展示各个表之间的关联
2. 要能够看到各个表的字段和类型,
3. 除了type,maxlength,minlength, max, min,reference,unique, required之外, 其他属性请忽略
4. 每个model都是默认有一个名为id的主键,但是省略了,你需要明确补上`id: int {constraint: primary_key}`作为第一列
5. 列名的中文标签赢保留在类型后面,例如:`{ 'name', '名称', maxlength = 255, unique = true}` 对应 `name: varchar(255) 名称 {constraint: unique}`
6. 具体使用D2的SQL table语法来描述,例如有objects表和disks表, 且objects.disk的外键是disks.id:
```d2
objects: {
  shape: sql_table
  id: int {constraint: primary_key}
  disk: int {constraint: foreign_key}
  json: jsonb {constraint: unique}
  last_updated: timestamp with time zone
}

disks: {
  shape: sql_table
  id: int {constraint: primary_key}
}

objects.disk -> disks.id
```
7. 这是你需要转换的lua模型
```lua

```

version 0.2.0