use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct SchemaTree {
pub databases: Vec<Database>,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Database {
pub name: String,
#[serde(default)]
pub schemas: Vec<Schema>,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Schema {
pub name: String,
#[serde(default)]
pub tables: Vec<Table>,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Table {
pub name: String,
#[serde(default)]
pub columns: Vec<Column>,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Column {
pub name: String,
pub data_type: String,
pub nullable: bool,
}