@@ -6,6 +6,9 @@ DROP TABLE IF EXISTS reform_impact;
66DROP TABLE IF EXISTS analysis;
77DROP TABLE IF EXISTS user_policies;
88DROP TABLE IF EXISTS tracers;
9+ DROP TABLE IF EXISTS report_output_runs;
10+ DROP TABLE IF EXISTS simulation_runs;
11+ DROP TABLE IF EXISTS legacy_report_output_aliases;
912
1013CREATE TABLE IF NOT EXISTS household (
1114 id INTEGER PRIMARY KEY ,
@@ -123,7 +126,11 @@ CREATE TABLE IF NOT EXISTS simulations (
123126 policy_id INT NOT NULL ,
124127 status VARCHAR (32 ) NOT NULL DEFAULT ' pending' ,
125128 output JSON DEFAULT NULL ,
126- error_message TEXT DEFAULT NULL
129+ error_message TEXT DEFAULT NULL ,
130+ simulation_spec_json JSON DEFAULT NULL ,
131+ simulation_spec_schema_version INT DEFAULT NULL ,
132+ active_run_id CHAR (36 ) DEFAULT NULL ,
133+ latest_successful_run_id CHAR (36 ) DEFAULT NULL
127134);
128135
129136CREATE TABLE IF NOT EXISTS report_outputs (
@@ -135,6 +142,64 @@ CREATE TABLE IF NOT EXISTS report_outputs (
135142 status VARCHAR (32 ) NOT NULL DEFAULT ' pending' ,
136143 output JSON DEFAULT NULL ,
137144 error_message TEXT DEFAULT NULL ,
138- year VARCHAR (255 ) DEFAULT ' 2025'
145+ year VARCHAR (255 ) DEFAULT ' 2025' ,
146+ report_kind VARCHAR (64 ) DEFAULT NULL ,
147+ report_spec_json JSON DEFAULT NULL ,
148+ report_spec_schema_version INT DEFAULT NULL ,
149+ report_spec_status VARCHAR (32 ) DEFAULT NULL ,
150+ active_run_id CHAR (36 ) DEFAULT NULL ,
151+ latest_successful_run_id CHAR (36 ) DEFAULT NULL
152+ );
153+
154+ CREATE TABLE IF NOT EXISTS report_output_runs (
155+ id CHAR (36 ) PRIMARY KEY ,
156+ report_output_id INT NOT NULL ,
157+ run_sequence INT NOT NULL ,
158+ status VARCHAR (32 ) NOT NULL ,
159+ output JSON DEFAULT NULL ,
160+ error_message TEXT DEFAULT NULL ,
161+ trigger_type VARCHAR (32 ) NOT NULL ,
162+ requested_at DATETIME DEFAULT NULL ,
163+ started_at DATETIME DEFAULT NULL ,
164+ finished_at DATETIME DEFAULT NULL ,
165+ source_run_id CHAR (36 ) DEFAULT NULL ,
166+ report_spec_snapshot_json JSON DEFAULT NULL ,
167+ country_package_version VARCHAR (255 ) DEFAULT NULL ,
168+ policyengine_version VARCHAR (255 ) DEFAULT NULL ,
169+ data_version VARCHAR (255 ) DEFAULT NULL ,
170+ runtime_app_name VARCHAR (255 ) DEFAULT NULL ,
171+ report_cache_version VARCHAR (255 ) DEFAULT NULL ,
172+ simulation_cache_version VARCHAR (255 ) DEFAULT NULL ,
173+ requested_version_override VARCHAR (255 ) DEFAULT NULL ,
174+ resolved_dataset VARCHAR (255 ) DEFAULT NULL ,
175+ resolved_options_hash VARCHAR (255 ) DEFAULT NULL ,
176+ UNIQUE (report_output_id, run_sequence)
139177);
140178
179+ CREATE TABLE IF NOT EXISTS simulation_runs (
180+ id CHAR (36 ) PRIMARY KEY ,
181+ simulation_id INT NOT NULL ,
182+ report_output_run_id CHAR (36 ) DEFAULT NULL ,
183+ input_position TINYINT DEFAULT NULL ,
184+ run_sequence INT NOT NULL ,
185+ status VARCHAR (32 ) NOT NULL ,
186+ output JSON DEFAULT NULL ,
187+ error_message TEXT DEFAULT NULL ,
188+ trigger_type VARCHAR (32 ) NOT NULL ,
189+ requested_at DATETIME DEFAULT NULL ,
190+ started_at DATETIME DEFAULT NULL ,
191+ finished_at DATETIME DEFAULT NULL ,
192+ source_run_id CHAR (36 ) DEFAULT NULL ,
193+ simulation_spec_snapshot_json JSON DEFAULT NULL ,
194+ country_package_version VARCHAR (255 ) DEFAULT NULL ,
195+ policyengine_version VARCHAR (255 ) DEFAULT NULL ,
196+ data_version VARCHAR (255 ) DEFAULT NULL ,
197+ runtime_app_name VARCHAR (255 ) DEFAULT NULL ,
198+ simulation_cache_version VARCHAR (255 ) DEFAULT NULL ,
199+ UNIQUE (simulation_id, run_sequence)
200+ );
201+
202+ CREATE TABLE IF NOT EXISTS legacy_report_output_aliases (
203+ legacy_report_output_id INT PRIMARY KEY ,
204+ canonical_report_output_id INT NOT NULL
205+ );
0 commit comments