pre-requisites * setup postgres db with a username and password and database setup * `setup_sql/01_schema.sql` setup the application tables * create a table of data to forecast * `setup_sql/02_target_info.sql` to populate the meta table (edit table name) * fill out the `target_meta` table * `setup_sql/03_build_maste_tables.sql` to create master data tables from forecast data * `./routes/baseline/generate_route_sql.sh` to create the baseline sql used by the /baseline route | schema | tname | cname | opos | func | fkey | fcol | dtype | appcol | pretty | | ------- | ------- | -------------- | ---- | ------------ | ------------ | -------------- | ------- | ------------ | ------ | | fc | live | fb_cst_loc | 91 | cost | | fb_cst_loc | numeric | | | | fc | live | ship_cust | 36 | scust | scust | ship_cust | text | | | | fc | live | rdate | 98 | rdate | rdate | drange | date | | | | fc | live | geo | 42 | scust | | geo | text | customer | | | fc | live | part | 54 | item | item | part | text | item | | | fc | live | odate | 96 | odate | odate | drange | date | order_date | | | fc | live | sdate | 100 | sdate | sdate | sdate | date | ship_date | | | fc | live | oseas | 97 | odate | | ssyr | integer | | | | fc | live | calc_status | 94 | order_status | order_status | calc_status | text | order_status | | | fc | live | rseas | 99 | rdate | | ssyr | integer | | | | fc | live | sseas | 101 | sdate | | ssyr | integer | | | | | | | | | | | | version | | | | | | | | | | | iter | | | | | | | | | | | logid | | * func: * a foreign key and table is setup (except date types) * baseline function does a group-by to compact data for any func/appcol and value types are aggregated * fkey: * primary key of assoicated data and foreign key basis * for date types no foreign key is setup, but dynamic table joins use the fkey field to join on * fcol: associated field from the master data table if it is different (oseas would refer to ssyr in fc.perd) * pretty: display column name (user friendly) * appcol: flag columns that will be needed by the application * order_date * ship_date * customer * item * order_stats * units * cost * value * version (added if missing) * iter (added if missing) * logid (added if missing) issues - [ ] use sql stored in table instead of pulling from file - [ ] include building all the route sql as setup step - [x] baseline request json is not depostiing correctly into the sql - [ ] what if you create a func table but some of the values are null? (orders without quotes) - [x] what if you want certain things like invoice numbers included in the baseline, is a func table necesary? no, just leave fkey null and no table will be setup - [x] baseline needs to populate all columns in sequential order like the scale route - [ ] what if there is more than one table in fc.target_meta - [x] validate the ability to join to associated date tables, for example order season that needs incremented - [x] there is not currently any initial grouping to limit excess data from all the document# scenarios - [ ] how to handle a target value adjustment, which currency is it in?