vespertide_core/schema/
table.rs

1use schemars::JsonSchema;
2use serde::{Deserialize, Serialize};
3
4use crate::schema::{
5    column::ColumnDef, constraint::TableConstraint, index::IndexDef, names::TableName,
6};
7
8#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
9#[serde(rename_all = "snake_case")]
10pub struct TableDef {
11    pub name: TableName,
12    pub columns: Vec<ColumnDef>,
13    pub constraints: Vec<TableConstraint>,
14    pub indexes: Vec<IndexDef>,
15}