feat: add archive/delete/restore sessions with header preview
This commit is contained in:
@@ -148,10 +148,46 @@ def get_migrations():
|
||||
''')
|
||||
print(" Created cons_process_router table")
|
||||
|
||||
def migration_006_add_deleted_status(conn):
|
||||
"""Add 'deleted' to the status CHECK constraint"""
|
||||
cursor = conn.cursor()
|
||||
|
||||
# SQLite doesn't support ALTER COLUMN, so we need to recreate the table
|
||||
# First, create a new table with the updated constraint
|
||||
cursor.execute('''
|
||||
CREATE TABLE cons_sessions_new (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
process_id INTEGER NOT NULL,
|
||||
created_by INTEGER NOT NULL,
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
status TEXT DEFAULT 'active' CHECK(status IN ('active', 'archived', 'deleted')),
|
||||
FOREIGN KEY (process_id) REFERENCES cons_processes(id),
|
||||
FOREIGN KEY (created_by) REFERENCES Users(user_id)
|
||||
)
|
||||
''')
|
||||
|
||||
# Copy data from old table
|
||||
cursor.execute('''
|
||||
INSERT INTO cons_sessions_new (id, process_id, created_by, created_at, status)
|
||||
SELECT id, process_id, created_by, created_at, status
|
||||
FROM cons_sessions
|
||||
''')
|
||||
|
||||
# Drop old table and rename new one
|
||||
cursor.execute('DROP TABLE cons_sessions')
|
||||
cursor.execute('ALTER TABLE cons_sessions_new RENAME TO cons_sessions')
|
||||
|
||||
# Recreate indexes
|
||||
cursor.execute('CREATE INDEX IF NOT EXISTS idx_cons_sessions_process ON cons_sessions(process_id, status)')
|
||||
cursor.execute('CREATE INDEX IF NOT EXISTS idx_cons_sessions_user ON cons_sessions(created_by, status)')
|
||||
|
||||
print(" Updated cons_sessions status constraint to include 'deleted'")
|
||||
|
||||
return [
|
||||
(1, 'add_is_duplicate_key', migration_001_add_is_duplicate_key),
|
||||
(2, 'add_detail_end_row', migration_002_add_detail_end_row),
|
||||
(3, 'add_page_height', migration_003_add_page_height),
|
||||
(4, 'add_print_columns', migration_004_add_print_columns),
|
||||
(5, 'create_router_table', migration_005_create_router_table),
|
||||
(6, 'add_deleted_status', migration_006_add_deleted_status),
|
||||
]
|
||||
Reference in New Issue
Block a user