1use crate::{ForeignKeyStatement, IndexStatement, TableStatement, backend::SchemaBuilder};
4
5#[allow(clippy::large_enum_variant)]
6#[derive(Debug, Clone)]
7#[non_exhaustive]
8pub enum SchemaStatement {
9 TableStatement(TableStatement),
10 IndexStatement(IndexStatement),
11 ForeignKeyStatement(ForeignKeyStatement),
12}
13
14pub trait SchemaStatementBuilder {
15 fn build<T>(&self, schema_builder: T) -> String
17 where
18 T: SchemaBuilder;
19
20 fn to_string<T>(&self, schema_builder: T) -> String
22 where
23 T: SchemaBuilder,
24 {
25 self.build(schema_builder)
26 }
27}