Add SQL migration for structured_pikaci_target_id column
Intent: Extend the database schema so that both branch CI run lanes and nightly run lanes can persist an explicit structured pikaci target identifier, decoupling structured-lane detection from runtime command inspection.
Affected files: crates/pika-news/migrations/0024_ci_lane_structured_pikaci_target.sql, crates/pika-news/src/storage.rs
@@ -0,0 +1,5 @@
+ALTER TABLE branch_ci_run_lanes
+ADD COLUMN structured_pikaci_target_id TEXT;
+
+ALTER TABLE nightly_run_lanes
+ADD COLUMN structured_pikaci_target_id TEXT;
@@ -2790,6 +2790,11 @@ fn migrations() -> Vec<Migration> {
+ Migration {
+ version: 24,
+ name: "0024_ci_lane_structured_pikaci_target",
+ sql: include_str!("../migrations/0024_ci_lane_structured_pikaci_target.sql"),
+ },
A new migration (0024) adds a nullable TEXT column structured_pikaci_target_id to both branch_ci_run_lanes and nightly_run_lanes. The column is nullable because not every lane is a structured pikaci lane—legacy lanes and lanes that don't use pikaci remain unaffected.
The migration is registered in storage.rs as version 24 via the standard Migration struct, ensuring it runs automatically on startup.