From 22bca9cd9ec7ae311387ce7c68dcf0908268320d Mon Sep 17 00:00:00 2001 From: Dusan Vojacek Date: Sun, 19 Apr 2026 20:15:46 +0200 Subject: [PATCH] fix repeatable migrations --- .../V051__flyway_history_clear_all_repeatables.sql | 7 +++++++ ...fied_map.sql => R__002_fn_modbus_last_verified_map.sql} | 0 ..._consumption.sql => R__003_fn_baseline_consumption.sql} | 0 ...y_cycle_audit.sql => R__004_fn_battery_cycle_audit.sql} | 0 .../{R__fn_cop_estimate.sql => R__005_fn_cop_estimate.sql} | 2 +- ...ck_drift_sec.sql => R__006_fn_deye_clock_drift_sec.sql} | 0 ...system_time.sql => R__007_fn_deye_pack_system_time.sql} | 0 ...e_point_regs.sql => R__008_fn_deye_time_point_regs.sql} | 0 ...ature.sql => R__009_fn_deye_tou_inactive_signature.sql} | 0 ...s_unlock_day.sql => R__010_fn_economics_unlock_day.sql} | 0 ...n_effective_price.sql => R__011_fn_effective_price.sql} | 2 +- ...ls_day.sql => R__012_fn_energy_flows_intervals_day.sql} | 0 ...ev_arrival_stats.sql => R__013_fn_ev_arrival_stats.sql} | 0 ...ndle.sql => R__014_fn_ev_arrival_prediction_bundle.sql} | 0 ...ev_session_patch.sql => R__015_fn_ev_session_patch.sql} | 0 ..._transition.sql => R__016_fn_ev_session_transition.sql} | 0 ...essions_active.sql => R__017_fn_ev_sessions_active.sql} | 0 ...tended_planning.sql => R__018_fn_extended_planning.sql} | 0 ...udit_interval.sql => R__019_fn_fill_audit_interval.sql} | 2 +- ... => R__020_fn_fill_baseline_load_forecast_accuracy.sql} | 0 ...window.sql => R__021_fn_fill_audit_for_site_window.sql} | 0 ...t_accuracy.sql => R__022_fn_fill_forecast_accuracy.sql} | 0 ...recast_pv_split.sql => R__023_fn_forecast_pv_split.sql} | 0 ..._patch.sql => R__024_fn_inverter_modbus_caps_patch.sql} | 0 ...te_day_stats.sql => R__025_fn_latest_ote_day_stats.sql} | 0 ...nds_by_ids.sql => R__026_fn_modbus_commands_by_ids.sql} | 0 ..._journal_list.sql => R__027_fn_modbus_journal_list.sql} | 0 ...nd_ids.sql => R__028_fn_modbus_written_command_ids.sql} | 0 ...ctions.sql => R__029_fn_negative_price_predictions.sql} | 0 ..._prague.sql => R__030_fn_ote_day_slot_stats_prague.sql} | 0 .../{R__fn_ote_import.sql => R__031_fn_ote_import.sql} | 2 +- ...issing_days.sql => R__032_fn_ote_list_missing_days.sql} | 0 ...urrent_bundle.sql => R__033_fn_plan_current_bundle.sql} | 0 ...xplain_bundle.sql => R__034_fn_plan_explain_bundle.sql} | 0 ...ng_active_run.sql => R__035_fn_planning_active_run.sql} | 0 ...e_days.sql => R__036_fn_planning_future_price_days.sql} | 0 ...ng_run_commit.sql => R__037_fn_planning_run_commit.sql} | 0 ..._run_horizon.sql => R__038_fn_planning_run_horizon.sql} | 0 ...ite_context.sql => R__039_fn_planning_site_context.sql} | 0 ...gue.sql => R__040_fn_planning_slot_boundary_prague.sql} | 0 ...ffset.sql => R__041_fn_planning_interval_at_offset.sql} | 0 ...ve_prices.sql => R__042_fn_predict_negative_prices.sql} | 2 +- ...tor.sql => R__043_fn_pv_forecast_correction_factor.sql} | 0 db/routines/{R__fn_set_mode.sql => R__044_fn_set_mode.sql} | 2 +- ...ith_context.sql => R__045_fn_set_mode_with_context.sql} | 0 ..._configuration.sql => R__046_fn_site_configuration.sql} | 0 ...ample.sql => R__047_fn_telemetry_ev_charger_sample.sql} | 0 ...sample.sql => R__048_fn_telemetry_heat_pump_sample.sql} | 0 ..._sample.sql => R__049_fn_telemetry_inverter_sample.sql} | 0 ...ly_month.sql => R__062_fn_energy_flows_daily_month.sql} | 0 ...ots_full.sql => R__063_fn_load_planning_slots_full.sql} | 0 ....sql => R__064_fn_site_effective_prices_day_prague.sql} | 0 ...site_full_status.sql => R__065_fn_site_full_status.sql} | 0 ...ontext.sql => R__066_fn_site_notifications_context.sql} | 0 ...daily_month.sql => R__068_fn_economics_daily_month.sql} | 0 ...omics_lock_day.sql => R__069_fn_economics_lock_day.sql} | 0 ...hly_chart.sql => R__070_fn_economics_monthly_chart.sql} | 0 ...ast_verified.sql => R__001_vw_modbus_last_verified.sql} | 0 ...poll.sql => R__050_vw_asset_ev_charger_modbus_poll.sql} | 0 ..._poll.sql => R__051_vw_asset_heat_pump_modbus_poll.sql} | 0 ...s_poll.sql => R__052_vw_asset_inverter_modbus_poll.sql} | 0 ...R__vw_audit_summary.sql => R__053_vw_audit_summary.sql} | 2 +- ...y.sql => R__054_vw_baseline_load_forecast_accuracy.sql} | 0 ...y_cycle_daily.sql => R__055_vw_battery_cycle_daily.sql} | 0 .../{R__vw_energy_flows.sql => R__056_vw_energy_flows.sql} | 2 +- ...recast_accuracy.sql => R__057_vw_forecast_accuracy.sql} | 0 ...latest_telemetry.sql => R__058_vw_latest_telemetry.sql} | 2 +- ..._vw_operating_mode.sql => R__059_vw_operating_mode.sql} | 2 +- ..._vw_site_directory.sql => R__060_vw_site_directory.sql} | 0 ...ective_price.sql => R__061_vw_site_effective_price.sql} | 2 +- ...cs.sql => R__067_vw_site_effective_price_economics.sql} | 4 ++-- ...telemetry_15m_7d.sql => R__071_vw_telemetry_15m_7d.sql} | 2 +- ...n_grants.sql => R__072_z_postgrest_ems_anon_grants.sql} | 2 +- 73 files changed, 22 insertions(+), 15 deletions(-) create mode 100644 db/migration/V051__flyway_history_clear_all_repeatables.sql rename db/routines/{R__041_fn_modbus_last_verified_map.sql => R__002_fn_modbus_last_verified_map.sql} (100%) rename db/routines/{R__fn_baseline_consumption.sql => R__003_fn_baseline_consumption.sql} (100%) rename db/routines/{R__fn_battery_cycle_audit.sql => R__004_fn_battery_cycle_audit.sql} (100%) rename db/routines/{R__fn_cop_estimate.sql => R__005_fn_cop_estimate.sql} (99%) rename db/routines/{R__fn_deye_clock_drift_sec.sql => R__006_fn_deye_clock_drift_sec.sql} (100%) rename db/routines/{R__fn_deye_pack_system_time.sql => R__007_fn_deye_pack_system_time.sql} (100%) rename db/routines/{R__fn_deye_time_point_regs.sql => R__008_fn_deye_time_point_regs.sql} (100%) rename db/routines/{R__fn_deye_tou_inactive_signature.sql => R__009_fn_deye_tou_inactive_signature.sql} (100%) rename db/routines/{R__fn_economics_unlock_day.sql => R__010_fn_economics_unlock_day.sql} (100%) rename db/routines/{R__fn_effective_price.sql => R__011_fn_effective_price.sql} (99%) rename db/routines/{R__fn_energy_flows_intervals_day.sql => R__012_fn_energy_flows_intervals_day.sql} (100%) rename db/routines/{R__fn_ev_arrival_stats.sql => R__013_fn_ev_arrival_stats.sql} (100%) rename db/routines/{R__fn_ev_arrival_prediction_bundle.sql => R__014_fn_ev_arrival_prediction_bundle.sql} (100%) rename db/routines/{R__fn_ev_session_patch.sql => R__015_fn_ev_session_patch.sql} (100%) rename db/routines/{R__fn_ev_session_transition.sql => R__016_fn_ev_session_transition.sql} (100%) rename db/routines/{R__fn_ev_sessions_active.sql => R__017_fn_ev_sessions_active.sql} (100%) rename db/routines/{R__fn_extended_planning.sql => R__018_fn_extended_planning.sql} (100%) rename db/routines/{R__fn_fill_audit_interval.sql => R__019_fn_fill_audit_interval.sql} (99%) rename db/routines/{R__fn_fill_baseline_load_forecast_accuracy.sql => R__020_fn_fill_baseline_load_forecast_accuracy.sql} (100%) rename db/routines/{R__fn_fill_audit_for_site_window.sql => R__021_fn_fill_audit_for_site_window.sql} (100%) rename db/routines/{R__fn_fill_forecast_accuracy.sql => R__022_fn_fill_forecast_accuracy.sql} (100%) rename db/routines/{R__fn_forecast_pv_split.sql => R__023_fn_forecast_pv_split.sql} (100%) rename db/routines/{R__fn_inverter_modbus_caps_patch.sql => R__024_fn_inverter_modbus_caps_patch.sql} (100%) rename db/routines/{R__fn_latest_ote_day_stats.sql => R__025_fn_latest_ote_day_stats.sql} (100%) rename db/routines/{R__fn_modbus_commands_by_ids.sql => R__026_fn_modbus_commands_by_ids.sql} (100%) rename db/routines/{R__fn_modbus_journal_list.sql => R__027_fn_modbus_journal_list.sql} (100%) rename db/routines/{R__fn_modbus_written_command_ids.sql => R__028_fn_modbus_written_command_ids.sql} (100%) rename db/routines/{R__fn_negative_price_predictions.sql => R__029_fn_negative_price_predictions.sql} (100%) rename db/routines/{R__fn_ote_day_slot_stats_prague.sql => R__030_fn_ote_day_slot_stats_prague.sql} (100%) rename db/routines/{R__fn_ote_import.sql => R__031_fn_ote_import.sql} (99%) rename db/routines/{R__fn_ote_list_missing_days.sql => R__032_fn_ote_list_missing_days.sql} (100%) rename db/routines/{R__fn_plan_current_bundle.sql => R__033_fn_plan_current_bundle.sql} (100%) rename db/routines/{R__fn_plan_explain_bundle.sql => R__034_fn_plan_explain_bundle.sql} (100%) rename db/routines/{R__fn_planning_active_run.sql => R__035_fn_planning_active_run.sql} (100%) rename db/routines/{R__fn_planning_future_price_days.sql => R__036_fn_planning_future_price_days.sql} (100%) rename db/routines/{R__fn_planning_run_commit.sql => R__037_fn_planning_run_commit.sql} (100%) rename db/routines/{R__fn_planning_run_horizon.sql => R__038_fn_planning_run_horizon.sql} (100%) rename db/routines/{R__fn_planning_site_context.sql => R__039_fn_planning_site_context.sql} (100%) rename db/routines/{R__fn_planning_slot_boundary_prague.sql => R__040_fn_planning_slot_boundary_prague.sql} (100%) rename db/routines/{R__fn_planning_interval_at_offset.sql => R__041_fn_planning_interval_at_offset.sql} (100%) rename db/routines/{R__fn_predict_negative_prices.sql => R__042_fn_predict_negative_prices.sql} (99%) rename db/routines/{R__fn_pv_forecast_correction_factor.sql => R__043_fn_pv_forecast_correction_factor.sql} (100%) rename db/routines/{R__fn_set_mode.sql => R__044_fn_set_mode.sql} (99%) rename db/routines/{R__fn_set_mode_with_context.sql => R__045_fn_set_mode_with_context.sql} (100%) rename db/routines/{R__fn_site_configuration.sql => R__046_fn_site_configuration.sql} (100%) rename db/routines/{R__fn_telemetry_ev_charger_sample.sql => R__047_fn_telemetry_ev_charger_sample.sql} (100%) rename db/routines/{R__fn_telemetry_heat_pump_sample.sql => R__048_fn_telemetry_heat_pump_sample.sql} (100%) rename db/routines/{R__fn_telemetry_inverter_sample.sql => R__049_fn_telemetry_inverter_sample.sql} (100%) rename db/routines/{R__fn_energy_flows_daily_month.sql => R__062_fn_energy_flows_daily_month.sql} (100%) rename db/routines/{R__fn_load_planning_slots_full.sql => R__063_fn_load_planning_slots_full.sql} (100%) rename db/routines/{R__fn_site_effective_prices_day_prague.sql => R__064_fn_site_effective_prices_day_prague.sql} (100%) rename db/routines/{R__fn_site_full_status.sql => R__065_fn_site_full_status.sql} (100%) rename db/routines/{R__fn_site_notifications_context.sql => R__066_fn_site_notifications_context.sql} (100%) rename db/routines/{R__fn_economics_daily_month.sql => R__068_fn_economics_daily_month.sql} (100%) rename db/routines/{R__fn_economics_lock_day.sql => R__069_fn_economics_lock_day.sql} (100%) rename db/routines/{R__fn_economics_monthly_chart.sql => R__070_fn_economics_monthly_chart.sql} (100%) rename db/views/{R__040_vw_modbus_last_verified.sql => R__001_vw_modbus_last_verified.sql} (100%) rename db/views/{R__vw_asset_ev_charger_modbus_poll.sql => R__050_vw_asset_ev_charger_modbus_poll.sql} (100%) rename db/views/{R__vw_asset_heat_pump_modbus_poll.sql => R__051_vw_asset_heat_pump_modbus_poll.sql} (100%) rename db/views/{R__vw_asset_inverter_modbus_poll.sql => R__052_vw_asset_inverter_modbus_poll.sql} (100%) rename db/views/{R__vw_audit_summary.sql => R__053_vw_audit_summary.sql} (99%) rename db/views/{R__vw_baseline_load_forecast_accuracy.sql => R__054_vw_baseline_load_forecast_accuracy.sql} (100%) rename db/views/{R__vw_battery_cycle_daily.sql => R__055_vw_battery_cycle_daily.sql} (100%) rename db/views/{R__vw_energy_flows.sql => R__056_vw_energy_flows.sql} (98%) rename db/views/{R__vw_forecast_accuracy.sql => R__057_vw_forecast_accuracy.sql} (100%) rename db/views/{R__vw_latest_telemetry.sql => R__058_vw_latest_telemetry.sql} (98%) rename db/views/{R__vw_operating_mode.sql => R__059_vw_operating_mode.sql} (99%) rename db/views/{R__vw_site_directory.sql => R__060_vw_site_directory.sql} (100%) rename db/views/{R__vw_site_effective_price.sql => R__061_vw_site_effective_price.sql} (98%) rename db/views/{R__vw_site_effective_price_economics.sql => R__067_vw_site_effective_price_economics.sql} (97%) rename db/views/{R__vw_telemetry_15m_7d.sql => R__071_vw_telemetry_15m_7d.sql} (96%) rename db/views/{R__z_postgrest_ems_anon_grants.sql => R__072_z_postgrest_ems_anon_grants.sql} (95%) diff --git a/db/migration/V051__flyway_history_clear_all_repeatables.sql b/db/migration/V051__flyway_history_clear_all_repeatables.sql new file mode 100644 index 0000000..e69137a --- /dev/null +++ b/db/migration/V051__flyway_history_clear_all_repeatables.sql @@ -0,0 +1,7 @@ +-- Po přejmenování všech repeatable na R__NNN_* (globální pořadí dle závislostí fn/vw) +-- odstraníme záznamy repeatable z flyway historie. Při dalším migrate se znovu aplikují +-- všechny R__ skripty (CREATE OR REPLACE / GRANT je idempotentní). + +DELETE FROM ems.flyway_schema_history +WHERE type = 'SQL' + AND version IS NULL; diff --git a/db/routines/R__041_fn_modbus_last_verified_map.sql b/db/routines/R__002_fn_modbus_last_verified_map.sql similarity index 100% rename from db/routines/R__041_fn_modbus_last_verified_map.sql rename to db/routines/R__002_fn_modbus_last_verified_map.sql diff --git a/db/routines/R__fn_baseline_consumption.sql b/db/routines/R__003_fn_baseline_consumption.sql similarity index 100% rename from db/routines/R__fn_baseline_consumption.sql rename to db/routines/R__003_fn_baseline_consumption.sql diff --git a/db/routines/R__fn_battery_cycle_audit.sql b/db/routines/R__004_fn_battery_cycle_audit.sql similarity index 100% rename from db/routines/R__fn_battery_cycle_audit.sql rename to db/routines/R__004_fn_battery_cycle_audit.sql diff --git a/db/routines/R__fn_cop_estimate.sql b/db/routines/R__005_fn_cop_estimate.sql similarity index 99% rename from db/routines/R__fn_cop_estimate.sql rename to db/routines/R__005_fn_cop_estimate.sql index 44d60fc..59456e7 100644 --- a/db/routines/R__fn_cop_estimate.sql +++ b/db/routines/R__005_fn_cop_estimate.sql @@ -1,5 +1,5 @@ -- ============================================================= --- R__fn_cop_estimate.sql +-- R__005_fn_cop_estimate.sql -- EMS Platform – odhad COP tepelného čerpadla dle venkovní teploty -- Repeatable migration -- ============================================================= diff --git a/db/routines/R__fn_deye_clock_drift_sec.sql b/db/routines/R__006_fn_deye_clock_drift_sec.sql similarity index 100% rename from db/routines/R__fn_deye_clock_drift_sec.sql rename to db/routines/R__006_fn_deye_clock_drift_sec.sql diff --git a/db/routines/R__fn_deye_pack_system_time.sql b/db/routines/R__007_fn_deye_pack_system_time.sql similarity index 100% rename from db/routines/R__fn_deye_pack_system_time.sql rename to db/routines/R__007_fn_deye_pack_system_time.sql diff --git a/db/routines/R__fn_deye_time_point_regs.sql b/db/routines/R__008_fn_deye_time_point_regs.sql similarity index 100% rename from db/routines/R__fn_deye_time_point_regs.sql rename to db/routines/R__008_fn_deye_time_point_regs.sql diff --git a/db/routines/R__fn_deye_tou_inactive_signature.sql b/db/routines/R__009_fn_deye_tou_inactive_signature.sql similarity index 100% rename from db/routines/R__fn_deye_tou_inactive_signature.sql rename to db/routines/R__009_fn_deye_tou_inactive_signature.sql diff --git a/db/routines/R__fn_economics_unlock_day.sql b/db/routines/R__010_fn_economics_unlock_day.sql similarity index 100% rename from db/routines/R__fn_economics_unlock_day.sql rename to db/routines/R__010_fn_economics_unlock_day.sql diff --git a/db/routines/R__fn_effective_price.sql b/db/routines/R__011_fn_effective_price.sql similarity index 99% rename from db/routines/R__fn_effective_price.sql rename to db/routines/R__011_fn_effective_price.sql index 752a9d4..cfc248d 100644 --- a/db/routines/R__fn_effective_price.sql +++ b/db/routines/R__011_fn_effective_price.sql @@ -1,5 +1,5 @@ -- ============================================================= --- R__fn_effective_price.sql +-- R__011_fn_effective_price.sql -- EMS Platform – funkce pro výpočet efektivní ceny per site -- Repeatable migration – nasazuje se při každé změně -- ============================================================= diff --git a/db/routines/R__fn_energy_flows_intervals_day.sql b/db/routines/R__012_fn_energy_flows_intervals_day.sql similarity index 100% rename from db/routines/R__fn_energy_flows_intervals_day.sql rename to db/routines/R__012_fn_energy_flows_intervals_day.sql diff --git a/db/routines/R__fn_ev_arrival_stats.sql b/db/routines/R__013_fn_ev_arrival_stats.sql similarity index 100% rename from db/routines/R__fn_ev_arrival_stats.sql rename to db/routines/R__013_fn_ev_arrival_stats.sql diff --git a/db/routines/R__fn_ev_arrival_prediction_bundle.sql b/db/routines/R__014_fn_ev_arrival_prediction_bundle.sql similarity index 100% rename from db/routines/R__fn_ev_arrival_prediction_bundle.sql rename to db/routines/R__014_fn_ev_arrival_prediction_bundle.sql diff --git a/db/routines/R__fn_ev_session_patch.sql b/db/routines/R__015_fn_ev_session_patch.sql similarity index 100% rename from db/routines/R__fn_ev_session_patch.sql rename to db/routines/R__015_fn_ev_session_patch.sql diff --git a/db/routines/R__fn_ev_session_transition.sql b/db/routines/R__016_fn_ev_session_transition.sql similarity index 100% rename from db/routines/R__fn_ev_session_transition.sql rename to db/routines/R__016_fn_ev_session_transition.sql diff --git a/db/routines/R__fn_ev_sessions_active.sql b/db/routines/R__017_fn_ev_sessions_active.sql similarity index 100% rename from db/routines/R__fn_ev_sessions_active.sql rename to db/routines/R__017_fn_ev_sessions_active.sql diff --git a/db/routines/R__fn_extended_planning.sql b/db/routines/R__018_fn_extended_planning.sql similarity index 100% rename from db/routines/R__fn_extended_planning.sql rename to db/routines/R__018_fn_extended_planning.sql diff --git a/db/routines/R__fn_fill_audit_interval.sql b/db/routines/R__019_fn_fill_audit_interval.sql similarity index 99% rename from db/routines/R__fn_fill_audit_interval.sql rename to db/routines/R__019_fn_fill_audit_interval.sql index 5694124..66305c4 100644 --- a/db/routines/R__fn_fill_audit_interval.sql +++ b/db/routines/R__019_fn_fill_audit_interval.sql @@ -1,5 +1,5 @@ -- ============================================================= --- R__fn_fill_audit_interval.sql +-- R__019_fn_fill_audit_interval.sql -- EMS Platform – plnění audit_interval ze skutečné telemetrie -- Repeatable migration -- ============================================================= diff --git a/db/routines/R__fn_fill_baseline_load_forecast_accuracy.sql b/db/routines/R__020_fn_fill_baseline_load_forecast_accuracy.sql similarity index 100% rename from db/routines/R__fn_fill_baseline_load_forecast_accuracy.sql rename to db/routines/R__020_fn_fill_baseline_load_forecast_accuracy.sql diff --git a/db/routines/R__fn_fill_audit_for_site_window.sql b/db/routines/R__021_fn_fill_audit_for_site_window.sql similarity index 100% rename from db/routines/R__fn_fill_audit_for_site_window.sql rename to db/routines/R__021_fn_fill_audit_for_site_window.sql diff --git a/db/routines/R__fn_fill_forecast_accuracy.sql b/db/routines/R__022_fn_fill_forecast_accuracy.sql similarity index 100% rename from db/routines/R__fn_fill_forecast_accuracy.sql rename to db/routines/R__022_fn_fill_forecast_accuracy.sql diff --git a/db/routines/R__fn_forecast_pv_split.sql b/db/routines/R__023_fn_forecast_pv_split.sql similarity index 100% rename from db/routines/R__fn_forecast_pv_split.sql rename to db/routines/R__023_fn_forecast_pv_split.sql diff --git a/db/routines/R__fn_inverter_modbus_caps_patch.sql b/db/routines/R__024_fn_inverter_modbus_caps_patch.sql similarity index 100% rename from db/routines/R__fn_inverter_modbus_caps_patch.sql rename to db/routines/R__024_fn_inverter_modbus_caps_patch.sql diff --git a/db/routines/R__fn_latest_ote_day_stats.sql b/db/routines/R__025_fn_latest_ote_day_stats.sql similarity index 100% rename from db/routines/R__fn_latest_ote_day_stats.sql rename to db/routines/R__025_fn_latest_ote_day_stats.sql diff --git a/db/routines/R__fn_modbus_commands_by_ids.sql b/db/routines/R__026_fn_modbus_commands_by_ids.sql similarity index 100% rename from db/routines/R__fn_modbus_commands_by_ids.sql rename to db/routines/R__026_fn_modbus_commands_by_ids.sql diff --git a/db/routines/R__fn_modbus_journal_list.sql b/db/routines/R__027_fn_modbus_journal_list.sql similarity index 100% rename from db/routines/R__fn_modbus_journal_list.sql rename to db/routines/R__027_fn_modbus_journal_list.sql diff --git a/db/routines/R__fn_modbus_written_command_ids.sql b/db/routines/R__028_fn_modbus_written_command_ids.sql similarity index 100% rename from db/routines/R__fn_modbus_written_command_ids.sql rename to db/routines/R__028_fn_modbus_written_command_ids.sql diff --git a/db/routines/R__fn_negative_price_predictions.sql b/db/routines/R__029_fn_negative_price_predictions.sql similarity index 100% rename from db/routines/R__fn_negative_price_predictions.sql rename to db/routines/R__029_fn_negative_price_predictions.sql diff --git a/db/routines/R__fn_ote_day_slot_stats_prague.sql b/db/routines/R__030_fn_ote_day_slot_stats_prague.sql similarity index 100% rename from db/routines/R__fn_ote_day_slot_stats_prague.sql rename to db/routines/R__030_fn_ote_day_slot_stats_prague.sql diff --git a/db/routines/R__fn_ote_import.sql b/db/routines/R__031_fn_ote_import.sql similarity index 99% rename from db/routines/R__fn_ote_import.sql rename to db/routines/R__031_fn_ote_import.sql index 245ee9d..009a4b6 100644 --- a/db/routines/R__fn_ote_import.sql +++ b/db/routines/R__031_fn_ote_import.sql @@ -1,5 +1,5 @@ -- ============================================================= --- R__fn_ote_import.sql +-- R__031_fn_ote_import.sql -- OTE CZ import – parser a import funkce -- Repeatable migration – při změně funkce stačí upravit tento soubor -- ============================================================= diff --git a/db/routines/R__fn_ote_list_missing_days.sql b/db/routines/R__032_fn_ote_list_missing_days.sql similarity index 100% rename from db/routines/R__fn_ote_list_missing_days.sql rename to db/routines/R__032_fn_ote_list_missing_days.sql diff --git a/db/routines/R__fn_plan_current_bundle.sql b/db/routines/R__033_fn_plan_current_bundle.sql similarity index 100% rename from db/routines/R__fn_plan_current_bundle.sql rename to db/routines/R__033_fn_plan_current_bundle.sql diff --git a/db/routines/R__fn_plan_explain_bundle.sql b/db/routines/R__034_fn_plan_explain_bundle.sql similarity index 100% rename from db/routines/R__fn_plan_explain_bundle.sql rename to db/routines/R__034_fn_plan_explain_bundle.sql diff --git a/db/routines/R__fn_planning_active_run.sql b/db/routines/R__035_fn_planning_active_run.sql similarity index 100% rename from db/routines/R__fn_planning_active_run.sql rename to db/routines/R__035_fn_planning_active_run.sql diff --git a/db/routines/R__fn_planning_future_price_days.sql b/db/routines/R__036_fn_planning_future_price_days.sql similarity index 100% rename from db/routines/R__fn_planning_future_price_days.sql rename to db/routines/R__036_fn_planning_future_price_days.sql diff --git a/db/routines/R__fn_planning_run_commit.sql b/db/routines/R__037_fn_planning_run_commit.sql similarity index 100% rename from db/routines/R__fn_planning_run_commit.sql rename to db/routines/R__037_fn_planning_run_commit.sql diff --git a/db/routines/R__fn_planning_run_horizon.sql b/db/routines/R__038_fn_planning_run_horizon.sql similarity index 100% rename from db/routines/R__fn_planning_run_horizon.sql rename to db/routines/R__038_fn_planning_run_horizon.sql diff --git a/db/routines/R__fn_planning_site_context.sql b/db/routines/R__039_fn_planning_site_context.sql similarity index 100% rename from db/routines/R__fn_planning_site_context.sql rename to db/routines/R__039_fn_planning_site_context.sql diff --git a/db/routines/R__fn_planning_slot_boundary_prague.sql b/db/routines/R__040_fn_planning_slot_boundary_prague.sql similarity index 100% rename from db/routines/R__fn_planning_slot_boundary_prague.sql rename to db/routines/R__040_fn_planning_slot_boundary_prague.sql diff --git a/db/routines/R__fn_planning_interval_at_offset.sql b/db/routines/R__041_fn_planning_interval_at_offset.sql similarity index 100% rename from db/routines/R__fn_planning_interval_at_offset.sql rename to db/routines/R__041_fn_planning_interval_at_offset.sql diff --git a/db/routines/R__fn_predict_negative_prices.sql b/db/routines/R__042_fn_predict_negative_prices.sql similarity index 99% rename from db/routines/R__fn_predict_negative_prices.sql rename to db/routines/R__042_fn_predict_negative_prices.sql index 8f31359..9dbc09e 100644 --- a/db/routines/R__fn_predict_negative_prices.sql +++ b/db/routines/R__042_fn_predict_negative_prices.sql @@ -1,5 +1,5 @@ -- ============================================================= --- R__fn_predict_negative_prices.sql +-- R__042_fn_predict_negative_prices.sql -- Predikce oken se zvýšeným rizikem záporné spotové ceny (OTE). -- Volat denně po importu cen a po forecastu FVE; výsledky ukládá do -- ems.predicted_negative_price_window. diff --git a/db/routines/R__fn_pv_forecast_correction_factor.sql b/db/routines/R__043_fn_pv_forecast_correction_factor.sql similarity index 100% rename from db/routines/R__fn_pv_forecast_correction_factor.sql rename to db/routines/R__043_fn_pv_forecast_correction_factor.sql diff --git a/db/routines/R__fn_set_mode.sql b/db/routines/R__044_fn_set_mode.sql similarity index 99% rename from db/routines/R__fn_set_mode.sql rename to db/routines/R__044_fn_set_mode.sql index ddb4c5b..56a2f06 100644 --- a/db/routines/R__fn_set_mode.sql +++ b/db/routines/R__044_fn_set_mode.sql @@ -1,5 +1,5 @@ -- ============================================================= --- R__fn_set_mode.sql +-- R__044_fn_set_mode.sql -- EMS Platform – přepínání provozních režimů -- Repeatable migration -- ============================================================= diff --git a/db/routines/R__fn_set_mode_with_context.sql b/db/routines/R__045_fn_set_mode_with_context.sql similarity index 100% rename from db/routines/R__fn_set_mode_with_context.sql rename to db/routines/R__045_fn_set_mode_with_context.sql diff --git a/db/routines/R__fn_site_configuration.sql b/db/routines/R__046_fn_site_configuration.sql similarity index 100% rename from db/routines/R__fn_site_configuration.sql rename to db/routines/R__046_fn_site_configuration.sql diff --git a/db/routines/R__fn_telemetry_ev_charger_sample.sql b/db/routines/R__047_fn_telemetry_ev_charger_sample.sql similarity index 100% rename from db/routines/R__fn_telemetry_ev_charger_sample.sql rename to db/routines/R__047_fn_telemetry_ev_charger_sample.sql diff --git a/db/routines/R__fn_telemetry_heat_pump_sample.sql b/db/routines/R__048_fn_telemetry_heat_pump_sample.sql similarity index 100% rename from db/routines/R__fn_telemetry_heat_pump_sample.sql rename to db/routines/R__048_fn_telemetry_heat_pump_sample.sql diff --git a/db/routines/R__fn_telemetry_inverter_sample.sql b/db/routines/R__049_fn_telemetry_inverter_sample.sql similarity index 100% rename from db/routines/R__fn_telemetry_inverter_sample.sql rename to db/routines/R__049_fn_telemetry_inverter_sample.sql diff --git a/db/routines/R__fn_energy_flows_daily_month.sql b/db/routines/R__062_fn_energy_flows_daily_month.sql similarity index 100% rename from db/routines/R__fn_energy_flows_daily_month.sql rename to db/routines/R__062_fn_energy_flows_daily_month.sql diff --git a/db/routines/R__fn_load_planning_slots_full.sql b/db/routines/R__063_fn_load_planning_slots_full.sql similarity index 100% rename from db/routines/R__fn_load_planning_slots_full.sql rename to db/routines/R__063_fn_load_planning_slots_full.sql diff --git a/db/routines/R__fn_site_effective_prices_day_prague.sql b/db/routines/R__064_fn_site_effective_prices_day_prague.sql similarity index 100% rename from db/routines/R__fn_site_effective_prices_day_prague.sql rename to db/routines/R__064_fn_site_effective_prices_day_prague.sql diff --git a/db/routines/R__fn_site_full_status.sql b/db/routines/R__065_fn_site_full_status.sql similarity index 100% rename from db/routines/R__fn_site_full_status.sql rename to db/routines/R__065_fn_site_full_status.sql diff --git a/db/routines/R__fn_site_notifications_context.sql b/db/routines/R__066_fn_site_notifications_context.sql similarity index 100% rename from db/routines/R__fn_site_notifications_context.sql rename to db/routines/R__066_fn_site_notifications_context.sql diff --git a/db/routines/R__fn_economics_daily_month.sql b/db/routines/R__068_fn_economics_daily_month.sql similarity index 100% rename from db/routines/R__fn_economics_daily_month.sql rename to db/routines/R__068_fn_economics_daily_month.sql diff --git a/db/routines/R__fn_economics_lock_day.sql b/db/routines/R__069_fn_economics_lock_day.sql similarity index 100% rename from db/routines/R__fn_economics_lock_day.sql rename to db/routines/R__069_fn_economics_lock_day.sql diff --git a/db/routines/R__fn_economics_monthly_chart.sql b/db/routines/R__070_fn_economics_monthly_chart.sql similarity index 100% rename from db/routines/R__fn_economics_monthly_chart.sql rename to db/routines/R__070_fn_economics_monthly_chart.sql diff --git a/db/views/R__040_vw_modbus_last_verified.sql b/db/views/R__001_vw_modbus_last_verified.sql similarity index 100% rename from db/views/R__040_vw_modbus_last_verified.sql rename to db/views/R__001_vw_modbus_last_verified.sql diff --git a/db/views/R__vw_asset_ev_charger_modbus_poll.sql b/db/views/R__050_vw_asset_ev_charger_modbus_poll.sql similarity index 100% rename from db/views/R__vw_asset_ev_charger_modbus_poll.sql rename to db/views/R__050_vw_asset_ev_charger_modbus_poll.sql diff --git a/db/views/R__vw_asset_heat_pump_modbus_poll.sql b/db/views/R__051_vw_asset_heat_pump_modbus_poll.sql similarity index 100% rename from db/views/R__vw_asset_heat_pump_modbus_poll.sql rename to db/views/R__051_vw_asset_heat_pump_modbus_poll.sql diff --git a/db/views/R__vw_asset_inverter_modbus_poll.sql b/db/views/R__052_vw_asset_inverter_modbus_poll.sql similarity index 100% rename from db/views/R__vw_asset_inverter_modbus_poll.sql rename to db/views/R__052_vw_asset_inverter_modbus_poll.sql diff --git a/db/views/R__vw_audit_summary.sql b/db/views/R__053_vw_audit_summary.sql similarity index 99% rename from db/views/R__vw_audit_summary.sql rename to db/views/R__053_vw_audit_summary.sql index ac5ea50..4479d82 100644 --- a/db/views/R__vw_audit_summary.sql +++ b/db/views/R__053_vw_audit_summary.sql @@ -1,5 +1,5 @@ -- ============================================================= --- R__vw_audit_summary.sql +-- R__053_vw_audit_summary.sql -- EMS Platform – přehledové views pro audit a dashboard -- Repeatable migration -- ============================================================= diff --git a/db/views/R__vw_baseline_load_forecast_accuracy.sql b/db/views/R__054_vw_baseline_load_forecast_accuracy.sql similarity index 100% rename from db/views/R__vw_baseline_load_forecast_accuracy.sql rename to db/views/R__054_vw_baseline_load_forecast_accuracy.sql diff --git a/db/views/R__vw_battery_cycle_daily.sql b/db/views/R__055_vw_battery_cycle_daily.sql similarity index 100% rename from db/views/R__vw_battery_cycle_daily.sql rename to db/views/R__055_vw_battery_cycle_daily.sql diff --git a/db/views/R__vw_energy_flows.sql b/db/views/R__056_vw_energy_flows.sql similarity index 98% rename from db/views/R__vw_energy_flows.sql rename to db/views/R__056_vw_energy_flows.sql index a7dbbd3..83851a3 100644 --- a/db/views/R__vw_energy_flows.sql +++ b/db/views/R__056_vw_energy_flows.sql @@ -1,5 +1,5 @@ -- ============================================================= --- R__vw_energy_flows.sql +-- R__056_vw_energy_flows.sql -- Denní agregace 6 základních Wh + 7 směrových toků z audit_interval -- Repeatable migration (závisí na audit_interval + V042 sloupcech) -- ============================================================= diff --git a/db/views/R__vw_forecast_accuracy.sql b/db/views/R__057_vw_forecast_accuracy.sql similarity index 100% rename from db/views/R__vw_forecast_accuracy.sql rename to db/views/R__057_vw_forecast_accuracy.sql diff --git a/db/views/R__vw_latest_telemetry.sql b/db/views/R__058_vw_latest_telemetry.sql similarity index 98% rename from db/views/R__vw_latest_telemetry.sql rename to db/views/R__058_vw_latest_telemetry.sql index eae3992..a56c448 100644 --- a/db/views/R__vw_latest_telemetry.sql +++ b/db/views/R__058_vw_latest_telemetry.sql @@ -1,5 +1,5 @@ -- ============================================================= --- R__vw_latest_telemetry.sql +-- R__058_vw_latest_telemetry.sql -- EMS Platform – aktuální stav všech zařízení per lokalita -- Repeatable migration -- ============================================================= diff --git a/db/views/R__vw_operating_mode.sql b/db/views/R__059_vw_operating_mode.sql similarity index 99% rename from db/views/R__vw_operating_mode.sql rename to db/views/R__059_vw_operating_mode.sql index 72b4d40..be458d0 100644 --- a/db/views/R__vw_operating_mode.sql +++ b/db/views/R__059_vw_operating_mode.sql @@ -1,5 +1,5 @@ -- ============================================================= --- R__vw_operating_mode.sql +-- R__059_vw_operating_mode.sql -- EMS Platform – views pro provozní režimy a heartbeat -- Repeatable migration -- ============================================================= diff --git a/db/views/R__vw_site_directory.sql b/db/views/R__060_vw_site_directory.sql similarity index 100% rename from db/views/R__vw_site_directory.sql rename to db/views/R__060_vw_site_directory.sql diff --git a/db/views/R__vw_site_effective_price.sql b/db/views/R__061_vw_site_effective_price.sql similarity index 98% rename from db/views/R__vw_site_effective_price.sql rename to db/views/R__061_vw_site_effective_price.sql index 5671e67..7703753 100644 --- a/db/views/R__vw_site_effective_price.sql +++ b/db/views/R__061_vw_site_effective_price.sql @@ -1,5 +1,5 @@ -- ============================================================= --- R__vw_site_effective_price.sql +-- R__061_vw_site_effective_price.sql -- EMS Platform – view efektivních cen per site -- Repeatable migration -- ============================================================= diff --git a/db/views/R__vw_site_effective_price_economics.sql b/db/views/R__067_vw_site_effective_price_economics.sql similarity index 97% rename from db/views/R__vw_site_effective_price_economics.sql rename to db/views/R__067_vw_site_effective_price_economics.sql index 3001e56..574aee5 100644 --- a/db/views/R__vw_site_effective_price_economics.sql +++ b/db/views/R__067_vw_site_effective_price_economics.sql @@ -1,7 +1,7 @@ -- ============================================================= --- R__vw_site_effective_price_economics.sql +-- R__067_vw_site_effective_price_economics.sql -- EMS Platform – ekonomické views (závisí na vw_site_effective_price) --- Musí běžet až PO R__vw_site_effective_price.sql (abecední pořadí Flyway). +-- Musí běžet až PO R__061_vw_site_effective_price.sql (číselný prefix Flyway). -- Repeatable migration -- -- Pozn.: při změně pořadí / názvů výstupních sloupců nestačí CREATE OR REPLACE VIEW — diff --git a/db/views/R__vw_telemetry_15m_7d.sql b/db/views/R__071_vw_telemetry_15m_7d.sql similarity index 96% rename from db/views/R__vw_telemetry_15m_7d.sql rename to db/views/R__071_vw_telemetry_15m_7d.sql index 3b471ec..e4229b5 100644 --- a/db/views/R__vw_telemetry_15m_7d.sql +++ b/db/views/R__071_vw_telemetry_15m_7d.sql @@ -1,5 +1,5 @@ -- ============================================================= --- R__vw_telemetry_15m_7d.sql +-- R__071_vw_telemetry_15m_7d.sql -- EMS Platform – telemetrie střídače po 15 min (dashboard sloty) -- Repeatable migration – jedna aktuální definice view -- ============================================================= diff --git a/db/views/R__z_postgrest_ems_anon_grants.sql b/db/views/R__072_z_postgrest_ems_anon_grants.sql similarity index 95% rename from db/views/R__z_postgrest_ems_anon_grants.sql rename to db/views/R__072_z_postgrest_ems_anon_grants.sql index 1641b5f..6587ac1 100644 --- a/db/views/R__z_postgrest_ems_anon_grants.sql +++ b/db/views/R__072_z_postgrest_ems_anon_grants.sql @@ -1,4 +1,4 @@ --- PostgREST ems_anon: SELECT na views (repeatable – po R__vw_* ve stejném Flyway běhu). +-- PostgREST ems_anon: SELECT na views (repeatable R__072 – po ostatních vw_* v pořadí Flyway). -- -- Po importu DB dumpu bez cluster rolí často chybí samotná role; V009 pak na cílovém -- clusteru neběžela. Tento blok je idempotentní a při změně souboru znovu spáruje granty.