v5 migration: add dex_report_date and install_date columns to assets table
This commit is contained in:
@@ -457,6 +457,13 @@ def init_db(conn: sqlite3.Connection):
|
|||||||
conn.execute("ALTER TABLE assets ADD COLUMN disney_park TEXT DEFAULT NULL")
|
conn.execute("ALTER TABLE assets ADD COLUMN disney_park TEXT DEFAULT NULL")
|
||||||
conn.commit()
|
conn.commit()
|
||||||
|
|
||||||
|
# v5 migration: dex_report_date + install_date
|
||||||
|
if "dex_report_date" not in asset_cols:
|
||||||
|
conn.execute("ALTER TABLE assets ADD COLUMN dex_report_date TEXT DEFAULT NULL")
|
||||||
|
if "install_date" not in asset_cols:
|
||||||
|
conn.execute("ALTER TABLE assets ADD COLUMN install_date TEXT DEFAULT NULL")
|
||||||
|
conn.commit()
|
||||||
|
|
||||||
# Ensure service_entrances table exists with correct schema
|
# Ensure service_entrances table exists with correct schema
|
||||||
se_exists = conn.execute(
|
se_exists = conn.execute(
|
||||||
"SELECT name FROM sqlite_master WHERE type='table' AND name='service_entrances'"
|
"SELECT name FROM sqlite_master WHERE type='table' AND name='service_entrances'"
|
||||||
@@ -1005,6 +1012,7 @@ def list_assets(
|
|||||||
disney_park: Optional[str] = Query(None),
|
disney_park: Optional[str] = Query(None),
|
||||||
disney_filter: Optional[str] = Query(None),
|
disney_filter: Optional[str] = Query(None),
|
||||||
q: Optional[str] = Query(None),
|
q: Optional[str] = Query(None),
|
||||||
|
no_dex_days: Optional[int] = Query(None, ge=1),
|
||||||
limit: int = Query(100, ge=1, le=2000),
|
limit: int = Query(100, ge=1, le=2000),
|
||||||
offset: int = Query(0, ge=0),
|
offset: int = Query(0, ge=0),
|
||||||
):
|
):
|
||||||
@@ -1044,6 +1052,9 @@ def list_assets(
|
|||||||
conditions.append("(name LIKE ? OR machine_id LIKE ? OR serial_number LIKE ? OR description LIKE ?)")
|
conditions.append("(name LIKE ? OR machine_id LIKE ? OR serial_number LIKE ? OR description LIKE ?)")
|
||||||
like = f"%{q}%"
|
like = f"%{q}%"
|
||||||
params.extend([like, like, like, like])
|
params.extend([like, like, like, like])
|
||||||
|
if no_dex_days is not None:
|
||||||
|
conditions.append("(dex_report_date IS NULL OR dex_report_date < datetime('now', '-' || ? || ' days'))")
|
||||||
|
params.append(no_dex_days)
|
||||||
|
|
||||||
where = " AND ".join(conditions)
|
where = " AND ".join(conditions)
|
||||||
sql = "SELECT * FROM assets"
|
sql = "SELECT * FROM assets"
|
||||||
|
|||||||
Reference in New Issue
Block a user