""" Clear site_deployment_id for articles assigned to deleted test sites """ import sys from pathlib import Path sys.path.insert(0, str(Path(__file__).parent.parent)) from src.database.session import db_manager from src.database.models import GeneratedContent def fix_orphaned_articles(): """Clear site_deployment_id for articles assigned to deleted test sites""" db_manager.initialize() session = db_manager.get_session() deleted_site_ids = [398, 399, 400, 401] try: orphaned = session.query(GeneratedContent).filter( GeneratedContent.site_deployment_id.in_(deleted_site_ids) ).all() if orphaned: print(f"Found {len(orphaned)} articles assigned to deleted test sites:") for article in orphaned: print(f" Article {article.id}: '{article.title}' -> site_deployment_id={article.site_deployment_id}") article.site_deployment_id = None session.add(article) session.commit() print(f"\nCleared site_deployment_id for {len(orphaned)} articles") print("These articles can now be reassigned during post-processing or deployment") else: print("No orphaned articles found.") except Exception as e: print(f"Error: {e}") import traceback traceback.print_exc() session.rollback() finally: session.close() if __name__ == "__main__": fix_orphaned_articles()