schema_sql_generator/common/
generate_options.rs1use crate::common::output_mode::OutputMode;
2use crate::common::print_writer::PrintWriter;
3use schema_model::model::database_model::DatabaseModel;
4use schema_model::model::types::{BooleanMode, ForeignKeyMode};
5use std::cell::RefCell;
6use std::rc::Rc;
7
8pub struct GenerateOptions {
9 pub database_model: Rc<DatabaseModel>,
10 pub writer: Rc<RefCell<PrintWriter>>,
11 pub foreign_key_mode: ForeignKeyMode,
12 pub boolean_mode: BooleanMode,
13 pub output_mode: OutputMode,
14 pub target_postgres_version: u32,
15}
16
17impl GenerateOptions {
18 pub fn new(database_model: Rc<DatabaseModel>, writer: Rc<RefCell<PrintWriter>>) -> Self {
19 Self {
20 database_model,
21 writer,
22 foreign_key_mode: ForeignKeyMode::Relations,
23 boolean_mode: BooleanMode::Native,
24 output_mode: OutputMode::All,
25 target_postgres_version: 0,
26 }
27 }
28}