vespertide_core/schema/
column.rs

1use schemars::JsonSchema;
2use serde::{Deserialize, Serialize};
3
4use crate::schema::names::ColumnName;
5
6#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
7#[serde(rename_all = "snake_case")]
8pub struct ColumnDef {
9    pub name: ColumnName,
10    pub r#type: ColumnType,
11    pub nullable: bool,
12    pub default: Option<String>,
13}
14
15#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
16pub enum ColumnType {
17    Integer,
18    BigInt,
19    Text,
20    Boolean,
21    Timestamp,
22    Custom(String),
23}