1use serde::{Deserialize, Serialize};
2use serde_json::Value;
3
4#[derive(Serialize, Deserialize, Clone, Debug)]
5pub enum TableDDLOp {
6 Keep,
7 Drop,
8 DropAll,
9 Undrop,
10 Rename(String),
11}
12
13#[derive(Serialize, Deserialize, Clone, Debug)]
14pub enum DDLOp {
15 Keep,
16 Rename(String),
17}
18
19#[derive(Serialize, Deserialize, Clone, Debug)]
20pub struct FieldDDL {
21 pub name: String,
22 pub opt: bool,
23 pub ty: String,
24 pub default: Option<Value>,
25 pub op: DDLOp,
26}
27
28#[derive(Serialize, Deserialize, Debug)]
29pub struct TableDDL {
30 pub name: String,
31 pub cols: Vec<FieldDDL>,
32 pub op: TableDDLOp,
33}