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}