demeter
Autonomous Hydroponic Intelligencegit clone https://github.com/maydayv7/demeter
backend/server/fix.py (1664B)
1import sys
2import os
3from dotenv import load_dotenv # Ensure you have python-dotenv installed
4
5# 1. Get the folder where this script lives
6current_dir = os.path.dirname(os.path.abspath(__file__))
7
8# 2. Go up two levels to find the Project Root (Code/)
9project_root = os.path.abspath(os.path.join(current_dir, '../../'))
10
11# 3. Add Project Root to Python Path
12sys.path.append(project_root)
13
14# 4. 🔥 FORCE LOAD THE .ENV FILE 🔥
15# This must happen BEFORE importing Qdrant.Client
16env_path = os.path.join(project_root, '.env')
17if os.path.exists(env_path):
18 print(f"✅ Loading environment from: {env_path}")
19 load_dotenv(env_path)
20else:
21 print("⚠️ WARNING: .env file not found at project root!")
22
23# 5. NOW Import Client (It will see the loaded variables)
24from Qdrant.Client import client
25from qdrant_client.http import models
26
27def create_indexes():
28 print(f"🔧 Optimizing collection Farm_Memory...")
29
30 # 1. Create Index for crop_id
31 try:
32 client.create_payload_index(
33 collection_name="Farm_Memory",
34 field_name="crop_id",
35 field_schema=models.PayloadSchemaType.KEYWORD
36 )
37 print("✅ Index created for 'crop_id'")
38 except Exception as e:
39 print(f"ℹ️ Note on crop_id: {e}")
40
41 # 2. Create Index for outcome
42 try:
43 client.create_payload_index(
44 collection_name="Farm_Memory",
45 field_name="outcome",
46 field_schema=models.PayloadSchemaType.KEYWORD
47 )
48 print("✅ Index created for 'outcome'")
49 except Exception as e:
50 print(f"ℹ️ Note on outcome: {e}")
51
52if __name__ == "__main__":
53 create_indexes()