Draft migrations rewritten in place (PD-16, PD-18), with 0004 for the licence tables (PD-20) and rule tests in fuel-db/tests. Dashboards' column list regenerated; coverage_detail selects operator_uid. Checks: tests/run.sh 106 of 106; 18 views, 686 rows, 0 differences against a reference from the same corpus. Codex's fixes to its inspection are not re-inspected. Bands: persistence, Superset. Rules: 6, 8. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
14 KiB
14 KiB
| 1 | # Columns of the public.v_* views (migrations 0001-0003), as PostgreSQL reports them. | ||
|---|---|---|---|
| 2 | # build_bundle.py lists every one in its dataset; import_bundle.py reports drift. | ||
| 3 | # select c.relname, a.attname, format_type(a.atttypid, a.atttypmod) | ||
| 4 | # from pg_attribute a join pg_class c on c.oid = a.attrelid join pg_namespace n on n.oid = c.relnamespace | ||
| 5 | # where n.nspname = 'public' and c.relkind = 'v' and c.relname like 'v\_%' and a.attnum > 0 | ||
| 6 | # and not a.attisdropped order by c.relname, a.attnum | ||
| 7 | v_assumption | site_uid | character varying(12) |
| 8 | v_assumption | site_code | character varying(20) |
| 9 | v_assumption | site_name | character varying(120) |
| 10 | v_assumption | site_label | character varying(170) |
| 11 | v_assumption | operator_uid | character varying(12) |
| 12 | v_assumption | code | character varying(60) |
| 13 | v_assumption | topic | character varying(30) |
| 14 | v_assumption | asset_uid | character varying(40) |
| 15 | v_assumption | value | numeric(10,3) |
| 16 | v_assumption | value_low | numeric(10,3) |
| 17 | v_assumption | value_high | numeric(10,3) |
| 18 | v_assumption | unit | character varying(20) |
| 19 | v_assumption | applies_from | date |
| 20 | v_assumption | applies_to | date |
| 21 | v_assumption | basis | character varying(20) |
| 22 | v_assumption | derived_from_fuel | boolean |
| 23 | v_assumption | status | character varying(12) |
| 24 | v_assumption | accepted_on | date |
| 25 | v_assumption | decision_ref | character varying(12) |
| 26 | v_assumption | rationale | character varying(400) |
| 27 | v_assumption | contradicted_by | character varying(200) |
| 28 | v_assumption | members | character varying(400) |
| 29 | v_baseline_input | site_uid | character varying(12) |
| 30 | v_baseline_input | site_code | character varying(20) |
| 31 | v_baseline_input | site_name | character varying(120) |
| 32 | v_baseline_input | site_label | character varying(170) |
| 33 | v_baseline_input | operator_uid | character varying(12) |
| 34 | v_baseline_input | baseline_code | character varying(60) |
| 35 | v_baseline_input | baseline_status | character varying(12) |
| 36 | v_baseline_input | interval_label | character varying(30) |
| 37 | v_baseline_input | start_on | date |
| 38 | v_baseline_input | end_on | date |
| 39 | v_baseline_input | included | boolean |
| 40 | v_baseline_input | exclusion_reason | character varying(300) |
| 41 | v_baseline_input | fuel_l | numeric(10,1) |
| 42 | v_baseline_input | runtime_h | numeric(10,1) |
| 43 | v_baseline_input | days | integer |
| 44 | v_baseline_input | eligibility_at_computation | character varying(12) |
| 45 | v_baseline_input | evidence_grade_at_computation | character varying(2) |
| 46 | v_baseline_input | dependencies_changed | boolean |
| 47 | v_baseline_version | site_uid | character varying(12) |
| 48 | v_baseline_version | site_code | character varying(20) |
| 49 | v_baseline_version | site_name | character varying(120) |
| 50 | v_baseline_version | site_label | character varying(170) |
| 51 | v_baseline_version | operator_uid | character varying(12) |
| 52 | v_baseline_version | code | character varying(60) |
| 53 | v_baseline_version | metric | character varying(40) |
| 54 | v_baseline_version | status | character varying(12) |
| 55 | v_baseline_version | population | character varying(200) |
| 56 | v_baseline_version | value | numeric(8,3) |
| 57 | v_baseline_version | range_low | numeric(8,3) |
| 58 | v_baseline_version | range_high | numeric(8,3) |
| 59 | v_baseline_version | unit | character varying(8) |
| 60 | v_baseline_version | window_start | date |
| 61 | v_baseline_version | window_end | date |
| 62 | v_baseline_version | fuel_l | numeric(10,1) |
| 63 | v_baseline_version | runtime_h | numeric(10,1) |
| 64 | v_baseline_version | matched_days | integer |
| 65 | v_baseline_version | policy_version | character varying(10) |
| 66 | v_baseline_version | meets_policy | boolean |
| 67 | v_baseline_version | policy_check | character varying(300) |
| 68 | v_baseline_version | evidence_grade | character varying(2) |
| 69 | v_baseline_version | conditions | character varying(200) |
| 70 | v_baseline_version | season_note | character varying(200) |
| 71 | v_baseline_version | approved_on | date |
| 72 | v_baseline_version | approved_by_role | character varying(40) |
| 73 | v_baseline_version | decision_ref | character varying(12) |
| 74 | v_baseline_version | inputs_unchanged | boolean |
| 75 | v_baseline_version | computed_at | timestamp(0) without time zone |
| 76 | v_coverage | site_uid | character varying(12) |
| 77 | v_coverage | site_code | character varying(20) |
| 78 | v_coverage | site_name | character varying(120) |
| 79 | v_coverage | site_label | character varying(170) |
| 80 | v_coverage | operator_uid | character varying(12) |
| 81 | v_coverage | lane | character varying(60) |
| 82 | v_coverage | status | character varying(40) |
| 83 | v_coverage | start_on | date |
| 84 | v_coverage | end_on | date |
| 85 | v_coverage | start_ts | timestamp(0) without time zone |
| 86 | v_coverage | end_ts | timestamp(0) without time zone |
| 87 | v_data_quality | site_uid | character varying(12) |
| 88 | v_data_quality | site_code | character varying(20) |
| 89 | v_data_quality | site_name | character varying(120) |
| 90 | v_data_quality | site_label | character varying(170) |
| 91 | v_data_quality | operator_uid | character varying(12) |
| 92 | v_data_quality | check_order | integer |
| 93 | v_data_quality | check_code | character varying(40) |
| 94 | v_data_quality | label | character varying(80) |
| 95 | v_data_quality | status | character varying(10) |
| 96 | v_data_quality | detail | character varying(300) |
| 97 | v_delivery | site_uid | character varying(12) |
| 98 | v_delivery | site_code | character varying(20) |
| 99 | v_delivery | site_name | character varying(120) |
| 100 | v_delivery | site_label | character varying(170) |
| 101 | v_delivery | operator_uid | character varying(12) |
| 102 | v_delivery | event_key | character varying(80) |
| 103 | v_delivery | delivery_date | date |
| 104 | v_delivery | seq_in_day | integer |
| 105 | v_delivery | delivered_l | numeric(8,1) |
| 106 | v_delivery | unit_price | numeric(8,2) |
| 107 | v_delivery | currency | character varying(8) |
| 108 | v_delivery | source_ref | character varying(60) |
| 109 | v_delivery | n_sources | integer |
| 110 | v_delivery | sources_disagree | boolean |
| 111 | v_delivery | reviewed | boolean |
| 112 | v_electricity_cost | site_uid | character varying(12) |
| 113 | v_electricity_cost | site_code | character varying(20) |
| 114 | v_electricity_cost | site_name | character varying(120) |
| 115 | v_electricity_cost | site_label | character varying(170) |
| 116 | v_electricity_cost | operator_uid | character varying(12) |
| 117 | v_electricity_cost | bill_month | date |
| 118 | v_electricity_cost | period_start | date |
| 119 | v_electricity_cost | period_end | date |
| 120 | v_electricity_cost | period_known | boolean |
| 121 | v_electricity_cost | amount | numeric(12,2) |
| 122 | v_electricity_cost | currency | character varying(8) |
| 123 | v_electricity_cost | currency_basis | character varying(10) |
| 124 | v_electricity_cost | kwh | numeric(10,1) |
| 125 | v_electricity_cost | source_ref | character varying(60) |
| 126 | v_electricity_cost | claim_status | character varying(12) |
| 127 | v_evidence | site_uid | character varying(12) |
| 128 | v_evidence | site_code | character varying(20) |
| 129 | v_evidence | site_name | character varying(120) |
| 130 | v_evidence | site_label | character varying(170) |
| 131 | v_evidence | operator_uid | character varying(12) |
| 132 | v_evidence | document_key | character varying(16) |
| 133 | v_evidence | title | character varying(200) |
| 134 | v_evidence | kind | character varying(20) |
| 135 | v_evidence | issuer | character varying(80) |
| 136 | v_evidence | document_date | date |
| 137 | v_evidence | used_for | character varying(200) |
| 138 | v_evidence | contains_personal_data | boolean |
| 139 | v_hour_meter_evidence | site_uid | character varying(12) |
| 140 | v_hour_meter_evidence | site_code | character varying(20) |
| 141 | v_hour_meter_evidence | site_name | character varying(120) |
| 142 | v_hour_meter_evidence | site_label | character varying(170) |
| 143 | v_hour_meter_evidence | operator_uid | character varying(12) |
| 144 | v_hour_meter_evidence | meter_label | character varying(40) |
| 145 | v_hour_meter_evidence | mapped_set | character varying(60) |
| 146 | v_hour_meter_evidence | reading_date | date |
| 147 | v_hour_meter_evidence | date_basis | character varying(30) |
| 148 | v_hour_meter_evidence | hours | numeric(9,1) |
| 149 | v_hour_meter_evidence | reading_state | character varying(16) |
| 150 | v_hour_meter_evidence | source_field | character varying(16) |
| 151 | v_hour_meter_evidence | epoch_no | integer |
| 152 | v_hour_meter_evidence | claim_status | character varying(12) |
| 153 | v_imported_calculation | site_uid | character varying(12) |
| 154 | v_imported_calculation | site_code | character varying(20) |
| 155 | v_imported_calculation | site_name | character varying(120) |
| 156 | v_imported_calculation | site_label | character varying(170) |
| 157 | v_imported_calculation | operator_uid | character varying(12) |
| 158 | v_imported_calculation | cell_ref | character varying(40) |
| 159 | v_imported_calculation | source_label | character varying(80) |
| 160 | v_imported_calculation | formula | character varying(200) |
| 161 | v_imported_calculation | cached_value | numeric(14,6) |
| 162 | v_imported_calculation | unit_as_labelled | character varying(30) |
| 163 | v_imported_calculation | our_reading | character varying(300) |
| 164 | v_imported_calculation | baseline_use | character varying(12) |
| 165 | v_imported_calculation | exclusion_reason | character varying(300) |
| 166 | v_imported_calculation | document_key | character varying(16) |
| 167 | v_imported_calculation | claim_status | character varying(12) |
| 168 | v_interval | site_uid | character varying(12) |
| 169 | v_interval | site_code | character varying(20) |
| 170 | v_interval | site_name | character varying(120) |
| 171 | v_interval | site_label | character varying(170) |
| 172 | v_interval | operator_uid | character varying(12) |
| 173 | v_interval | interval_label | character varying(30) |
| 174 | v_interval | start_on | date |
| 175 | v_interval | end_on | date |
| 176 | v_interval | days | integer |
| 177 | v_interval | opening_l | numeric(9,1) |
| 178 | v_interval | opening_basis | character varying(8) |
| 179 | v_interval | deliveries_l | numeric(9,1) |
| 180 | v_interval | withdrawals_l | numeric(9,1) |
| 181 | v_interval | closing_l | numeric(9,1) |
| 182 | v_interval | closing_basis | character varying(8) |
| 183 | v_interval | fuel_used_l | numeric(9,1) |
| 184 | v_interval | fuel_used_unc_l | numeric(9,1) |
| 185 | v_interval | fuel_l_per_day | numeric(8,1) |
| 186 | v_interval | stock_status | character varying(40) |
| 187 | v_interval | runtime_h | numeric(9,1) |
| 188 | v_interval | runtime_h_per_day | numeric(6,2) |
| 189 | v_interval | n_meters | integer |
| 190 | v_interval | metric | character varying(40) |
| 191 | v_interval | population_key | character varying(200) |
| 192 | v_interval | l_per_h | numeric(8,3) |
| 193 | v_interval | l_per_h_low | numeric(8,3) |
| 194 | v_interval | l_per_h_high | numeric(8,3) |
| 195 | v_interval | eligibility | character varying(12) |
| 196 | v_interval | exclusion_reasons | character varying(600) |
| 197 | v_interval | evidence_grade | character varying(2) |
| 198 | v_interval | conditions | character varying(200) |
| 199 | v_interval | in_current_baseline | boolean |
| 200 | v_interval | baseline_comparable | boolean |
| 201 | v_interval | current_baseline_l_per_h | numeric(8,3) |
| 202 | v_kpi_measures | site_uid | character varying(12) |
| 203 | v_kpi_measures | site_code | character varying(20) |
| 204 | v_kpi_measures | site_name | character varying(120) |
| 205 | v_kpi_measures | site_label | character varying(170) |
| 206 | v_kpi_measures | operator_uid | character varying(12) |
| 207 | v_kpi_measures | measure_order | integer |
| 208 | v_kpi_measures | measure | character varying(60) |
| 209 | v_kpi_measures | value | numeric(12,2) |
| 210 | v_kpi_measures | unit | character varying(12) |
| 211 | v_kpi_measures | value_kind | character varying(16) |
| 212 | v_kpi_measures | window_start | date |
| 213 | v_kpi_measures | window_end | date |
| 214 | v_kpi_measures | note | character varying(200) |
| 215 | v_modelled_lph | site_uid | character varying(12) |
| 216 | v_modelled_lph | site_code | character varying(20) |
| 217 | v_modelled_lph | site_name | character varying(120) |
| 218 | v_modelled_lph | site_label | character varying(170) |
| 219 | v_modelled_lph | operator_uid | character varying(12) |
| 220 | v_modelled_lph | assumption_code | character varying(60) |
| 221 | v_modelled_lph | status | character varying(12) |
| 222 | v_modelled_lph | basis | character varying(20) |
| 223 | v_modelled_lph | h_per_day | numeric(5,2) |
| 224 | v_modelled_lph | h_per_day_low | numeric(5,2) |
| 225 | v_modelled_lph | h_per_day_high | numeric(5,2) |
| 226 | v_modelled_lph | window_start | date |
| 227 | v_modelled_lph | window_end | date |
| 228 | v_modelled_lph | matched_days | integer |
| 229 | v_modelled_lph | l_per_day | numeric(7,1) |
| 230 | v_modelled_lph | modelled_l_per_h | numeric(6,2) |
| 231 | v_modelled_lph | modelled_l_per_h_low | numeric(6,2) |
| 232 | v_modelled_lph | modelled_l_per_h_high | numeric(6,2) |
| 233 | v_modelled_lph | value_kind | character varying(70) |
| 234 | v_reconciliation | site_uid | character varying(12) |
| 235 | v_reconciliation | site_code | character varying(20) |
| 236 | v_reconciliation | site_name | character varying(120) |
| 237 | v_reconciliation | site_label | character varying(170) |
| 238 | v_reconciliation | operator_uid | character varying(12) |
| 239 | v_reconciliation | interval_label | character varying(30) |
| 240 | v_reconciliation | start_on | date |
| 241 | v_reconciliation | end_on | date |
| 242 | v_reconciliation | stock_status | character varying(40) |
| 243 | v_reconciliation | endpoint_times_known | boolean |
| 244 | v_reconciliation | asset_uid | character varying(40) |
| 245 | v_reconciliation | placed_throughout | boolean |
| 246 | v_reconciliation | stock_balance_l | numeric(9,1) |
| 247 | v_reconciliation | engine_l | numeric(9,1) |
| 248 | v_reconciliation | covered_h | numeric(9,1) |
| 249 | v_reconciliation | interval_h | numeric(9,1) |
| 250 | v_reconciliation | engine_all_generators_l | numeric(9,1) |
| 251 | v_reconciliation | all_generators_metered | boolean |
| 252 | v_reconciliation | difference_l | numeric(9,1) |
| 253 | v_reconciliation | difference_pct | numeric(7,1) |
| 254 | v_runtime | site_uid | character varying(12) |
| 255 | v_runtime | site_code | character varying(20) |
| 256 | v_runtime | site_name | character varying(120) |
| 257 | v_runtime | site_label | character varying(170) |
| 258 | v_runtime | operator_uid | character varying(12) |
| 259 | v_runtime | meter_label | character varying(40) |
| 260 | v_runtime | mapped_set | character varying(60) |
| 261 | v_runtime | interval_label | character varying(80) |
| 262 | v_runtime | start_on | date |
| 263 | v_runtime | end_on | date |
| 264 | v_runtime | days | integer |
| 265 | v_runtime | runtime_h | numeric(9,1) |
| 266 | v_runtime | h_per_day | numeric(6,2) |
| 267 | v_runtime | pair_valid | boolean |
| 268 | v_runtime | same_epoch | boolean |
| 269 | v_runtime | monotonic | boolean |
| 270 | v_runtime | over_24h_per_day | boolean |
| 271 | v_runtime | reviewed | boolean |
| 272 | v_site | site_uid | character varying(12) |
| 273 | v_site | site_code | character varying(20) |
| 274 | v_site | site_name | character varying(120) |
| 275 | v_site | site_label | character varying(170) |
| 276 | v_site | operator_uid | character varying(12) |
| 277 | v_site | zone | character varying(40) |
| 278 | v_site | province | character varying(40) |
| 279 | v_site | district | character varying(60) |
| 280 | v_site | pilot_status | character varying(12) |
| 281 | v_site | latitude | numeric(9,6) |
| 282 | v_site | longitude | numeric(9,6) |
| 283 | v_site | location_status | character varying(20) |
| 284 | v_site | location_basis | character varying(20) |
| 285 | v_site | location_precision_m | integer |
| 286 | v_site | baseline_status | character varying(24) |
| 287 | v_site | baseline_status_label | character varying(40) |
| 288 | v_site | baseline_validity_note | character varying(60) |
| 289 | v_site | lph_estimate | numeric(6,2) |
| 290 | v_site | lph_method | character varying(60) |
| 291 | v_site | lph_window_start | date |
| 292 | v_site | lph_window_end | date |
| 293 | v_site | baseline_conditions | character varying(200) |
| 294 | v_site | baseline_decision_ref | character varying(12) |
| 295 | v_site | fuel_l_per_calendar_day | numeric(7,1) |
| 296 | v_site | latest_record_on | date |
| 297 | v_spec_reference | site_uid | character varying(12) |
| 298 | v_spec_reference | site_code | character varying(20) |
| 299 | v_spec_reference | site_name | character varying(120) |
| 300 | v_spec_reference | site_label | character varying(170) |
| 301 | v_spec_reference | operator_uid | character varying(12) |
| 302 | v_spec_reference | slot | character varying(20) |
| 303 | v_spec_reference | asset_uid | character varying(40) |
| 304 | v_spec_reference | asset_kind | character varying(20) |
| 305 | v_spec_reference | make_model | character varying(120) |
| 306 | v_spec_reference | attribute | character varying(40) |
| 307 | v_spec_reference | load_pct | numeric(5,1) |
| 308 | v_spec_reference | value | numeric(12,3) |
| 309 | v_spec_reference | value_text | character varying(120) |
| 310 | v_spec_reference | unit | character varying(20) |
| 311 | v_spec_reference | basis | character varying(30) |
| 312 | v_spec_reference | applicability | character varying(12) |
| 313 | v_spec_reference | applicability_note | character varying(300) |
| 314 | v_spec_reference | value_kind | character varying(30) |
| 315 | v_spec_reference | claim_status | character varying(12) |
| 316 | v_stock_reading | site_uid | character varying(12) |
| 317 | v_stock_reading | site_code | character varying(20) |
| 318 | v_stock_reading | site_name | character varying(120) |
| 319 | v_stock_reading | site_label | character varying(170) |
| 320 | v_stock_reading | operator_uid | character varying(12) |
| 321 | v_stock_reading | observed_on | date |
| 322 | v_stock_reading | seq_in_day | integer |
| 323 | v_stock_reading | reading_type | character varying(20) |
| 324 | v_stock_reading | litres | numeric(8,1) |
| 325 | v_stock_reading | value_kind | character varying(12) |
| 326 | v_stock_reading | spread_l | numeric(8,1) |
| 327 | v_stock_reading | reviewed | boolean |