1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
use crate::{backend::SchemaBuilder, ForeignKeyStatement, IndexStatement, TableStatement};
#[derive(Debug, Clone)]
pub enum SchemaStatement {
TableStatement(TableStatement),
IndexStatement(IndexStatement),
ForeignKeyStatement(ForeignKeyStatement),
}
pub trait SchemaStatementBuilder {
fn build<T: SchemaBuilder>(&self, schema_builder: T) -> String;
fn build_any(&self, schema_builder: &dyn SchemaBuilder) -> String;
fn to_string<T: SchemaBuilder>(&self, schema_builder: T) -> String {
self.build(schema_builder)
}
}