pub mod mysql;
pub mod postgres;
pub mod sqlite;
#[derive(Debug, Clone)]
#[allow(unused)]
pub struct ColumnInfo {
pub name: String,
pub data_type: String,
pub udt_name: String,
pub is_nullable: bool,
pub is_primary_key: bool,
pub ordinal_position: i32,
pub schema_name: String,
pub column_default: Option<String>,
}
#[derive(Debug, Clone)]
pub struct TableInfo {
pub schema_name: String,
pub name: String,
pub columns: Vec<ColumnInfo>,
}
#[derive(Debug, Clone)]
pub struct EnumInfo {
pub schema_name: String,
pub name: String,
pub variants: Vec<String>,
pub default_variant: Option<String>,
}
#[derive(Debug, Clone)]
pub struct CompositeTypeInfo {
pub schema_name: String,
pub name: String,
pub fields: Vec<ColumnInfo>,
}
#[derive(Debug, Clone)]
pub struct DomainInfo {
pub schema_name: String,
pub name: String,
pub base_type: String,
}
#[derive(Debug, Clone, Default)]
pub struct SchemaInfo {
pub tables: Vec<TableInfo>,
pub views: Vec<TableInfo>,
pub enums: Vec<EnumInfo>,
pub composite_types: Vec<CompositeTypeInfo>,
pub domains: Vec<DomainInfo>,
}