riwaq_types/
sql.rs

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}