#!/usr/bin/env python3 """ Script to create a database using the installed local-deep-research package. This script is used by test_backwards_compatibility.py to create a database with a previous version of the package, which is then tested for compatibility with the current version. Usage: python create_compat_db.py """ import sys from pathlib import Path # Set up paths db_dir = Path(sys.argv[1]) username = sys.argv[2] password = sys.argv[3] # Patch the data directory before importing import local_deep_research.config.paths as paths_module # noqa: E402 original_get_data_directory = paths_module.get_data_directory paths_module.get_data_directory = lambda: db_dir from local_deep_research.database.encrypted_db import DatabaseManager # noqa: E402 # Create a fresh manager with patched path manager = DatabaseManager() manager.data_dir = db_dir / "encrypted_databases" manager.data_dir.mkdir(parents=True, exist_ok=True) # Create the database engine = manager.create_user_database(username, password) # Add some test data session = manager.get_session(username) from local_deep_research.database.models import UserSettings # noqa: E402 setting = UserSettings( key="test.backwards_compat", value={"version": "previous", "test": True}, category="test", ) session.add(setting) session.commit() session.close() manager.close_user_database(username) print("Database created successfully")