sqlmo/query/
create_table.rs1use crate::util::SqlExtension;
2use crate::{Column, Dialect, Table, ToSql};
3
4#[derive(Debug, Clone, PartialEq, Eq)]
6pub struct CreateTable {
7 pub schema: Option<String>,
8 pub name: String,
9 pub columns: Vec<Column>,
10}
11
12impl CreateTable {
13 pub fn from_table(table: &Table) -> CreateTable {
14 CreateTable {
15 schema: table.schema.clone(),
16 name: table.name.clone(),
17 columns: table.columns.clone(),
18 }
19 }
20}
21
22impl ToSql for CreateTable {
23 fn write_sql(&self, buf: &mut String, dialect: Dialect) {
24 buf.push_str("CREATE TABLE ");
25 buf.push_table_name(&self.schema, &self.name);
26 buf.push_str(" (\n");
27 buf.push_sql_sequence(&self.columns, ",\n", dialect);
28 buf.push_str("\n)");
29 }
30}