recreate_schema.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #!/usr/bin/env python3
  2. """
  3. Loo Weaviate'i klass uuesti ilma vektoriseerimismoodulita
  4. """
  5. import sys
  6. import os
  7. import json
  8. # Lisa src kaust Pythoni teele
  9. sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'src'))
  10. from src.weaviate_client import WeaviateClient
  11. from src.utils import setup_logging
  12. logger = setup_logging()
  13. def recreate_schema():
  14. """Kustuta ja loo klass uuesti"""
  15. try:
  16. weaviate_client = WeaviateClient()
  17. # Kustuta olemasolev klass (kui on)
  18. try:
  19. weaviate_client.client.schema.delete_class("ScientificArticle")
  20. logger.info("Klass kustutatud")
  21. except Exception as e:
  22. logger.warning(f"Klassi kustutamine ebaõnnestus: {e}")
  23. # Loo klass uuesti (skeemi loomine toimub automaatselt __init__ meetodis)
  24. # Kuid me peame selle eksplitsiitselt kutsuma
  25. weaviate_client._setup_schema()
  26. logger.info("Klass uuesti loodud ilma vektoriseerimismoodulita")
  27. weaviate_client.close()
  28. except Exception as e:
  29. logger.error(f"Viga: {e}")
  30. import traceback
  31. logger.error(traceback.format_exc())
  32. if __name__ == "__main__":
  33. recreate_schema()