use crate::entities::types::{SStr, SVec};
pub trait ITable {
const PK: SStr = "";
const NAME: SStr;
const COLUMNS: SVec<(SStr, SStr)>;
const INDEXES: SVec<SStr> = &[];
const UNIQUE: SVec<SStr> = &[];
const FOREIGN_KEYS: SVec<(SStr, SStr, SStr)> = &[];
fn get_columns_as_str(exclude: &[&str]) -> String {
Self::COLUMNS
.iter()
.filter(|(c, _)| !exclude.contains(c))
.map(|(c, _)| format!("`{}`", c))
.collect::<Vec<_>>()
.join(",")
}
}