Add dependencies column to existing databases that don't have it. Uses NULL default for backwards compatibility - existing features without dependencies will have NULL which is treated as empty list.
(engine)
| 220 | |
| 221 | |
| 222 | def _migrate_add_dependencies_column(engine) -> None: |
| 223 | """Add dependencies column to existing databases that don't have it. |
| 224 | |
| 225 | Uses NULL default for backwards compatibility - existing features |
| 226 | without dependencies will have NULL which is treated as empty list. |
| 227 | """ |
| 228 | with engine.connect() as conn: |
| 229 | # Check if column exists |
| 230 | result = conn.execute(text("PRAGMA table_info(features)")) |
| 231 | columns = [row[1] for row in result.fetchall()] |
| 232 | |
| 233 | if "dependencies" not in columns: |
| 234 | # Use TEXT for SQLite JSON storage, NULL default for backwards compat |
| 235 | conn.execute(text("ALTER TABLE features ADD COLUMN dependencies TEXT DEFAULT NULL")) |
| 236 | conn.commit() |
| 237 | |
| 238 | |
| 239 | def _migrate_add_testing_columns(engine) -> None: |
no test coverage detected