pub trait Table {
// Required methods
fn new() -> Self
where Self: Sized;
fn name(&self) -> String;
fn columns(&self) -> Vec<Column>;
fn indexes(&self) -> Vec<Index>;
fn references(&self) -> Vec<Reference>;
fn create_sql(&self) -> String;
}