schema-sql-generator 0.2.0

A set of tools to manage relational database schemas
Documentation
use crate::common::output_mode::OutputMode;
use crate::common::print_writer::PrintWriter;
use schema_model::model::database_model::DatabaseModel;
use schema_model::model::types::{BooleanMode, ForeignKeyMode};
use std::cell::RefCell;
use std::rc::Rc;

pub struct GenerateOptions {
    pub database_model: Rc<DatabaseModel>,
    pub writer: Rc<RefCell<PrintWriter>>,
    pub foreign_key_mode: ForeignKeyMode,
    pub boolean_mode: BooleanMode,
    pub output_mode: OutputMode,
    pub target_postgres_version: u32,
}

impl GenerateOptions {
    pub fn new(database_model: Rc<DatabaseModel>, writer: Rc<RefCell<PrintWriter>>) -> Self {
        Self {
            database_model,
            writer,
            foreign_key_mode: ForeignKeyMode::Relations,
            boolean_mode: BooleanMode::Native,
            output_mode: OutputMode::All,
            target_postgres_version: 0,
        }
    }
}