49 lines
1.5 KiB
Python
49 lines
1.5 KiB
Python
"""
|
|
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()
|
|
|