{ //rdbms: server type, postgresql,mysql or sqlite3 "rdbms": "postgresql", //filename: sqlite3 db file name //"filename":"", //host: server address,localhost by default; "host": "127.0.0.1", //port: server port, 5432 by default; "port": 5432, //dbname: Database name; "dbname": "", //schema: valid for postgreSQL, "public" by default; "schema": "public", //user: User name "user": "", //password or passwd: Password "password": "", //client_encoding: The character set used by drogon_ctl. it is empty string by default which //means use the default character set. //"client_encoding": "", //table: An array of tables to be modelized. if the array is empty, all revealed tables are modelized. "tables": [], //convert: the value can be changed by a function call before it is stored into database or //after it is read from database "convert": { "enabled": false, "items":[{ "table": "user", "column": "password", "method": { //after_db_read: name of the method which is called after reading from database, signature: void([const] std::shared_ptr [&]) "after_db_read": "decrypt_password", //before_db_write: name of the method which is called before writing to database, signature: void([const] std::shared_ptr [&]) "before_db_write": "encrypt_password" }, "includes": [ "\"file_local_search_path.h\"","" ] }] }, "relationships": { "enabled": false, "items": [{ "type": "has one", "original_table_name": "products", "original_table_alias": "product", "original_key": "id", "target_table_name": "skus", "target_table_alias": "SKU", "target_key": "product_id", "enable_reverse": true }, { "type": "has many", "original_table_name": "products", "original_table_alias": "product", "original_key": "id", "target_table_name": "reviews", "target_table_alias": "", "target_key": "product_id", "enable_reverse": true }, { "type": "many to many", "original_table_name": "products", "original_table_alias": "", "original_key": "id", "pivot_table": { "table_name": "carts_products", "original_key": "product_id", "target_key": "cart_id" }, "target_table_name": "carts", "target_table_alias": "", "target_key": "id", "enable_reverse": true } ] }, "restful_api_controllers": { "enabled": false, // resource_uri: The URI to access the resource, the default value // is '/*' in which the asterisk represents the table name. // If this option is set to a empty string, the URI is composed of the namespaces and the class name. "resource_uri": "/*", // class_name: "Restful*Ctrl" by default, the asterisk represents the table name. // This option can contain namespaces. "class_name": "Restful*Ctrl", // filters: an array of filter names. "filters": [], // db_client: the database client used by the controller. this option must be consistent with // the configuration of the application. "db_client": { //name: Name of the client,'default' by default "name": "default", //is_fast: "is_fast": false }, // directory: The directory where the controller source files are stored. "directory": "controllers", // generate_base_only: false by default. Set to true to avoid overwriting custom subclasses. "generate_base_only": false } }