manan77709 commited on
Commit
f2a62c1
·
1 Parent(s): 3040a98

migrated research papers to supabase

Browse files
Files changed (1) hide show
  1. migrate.py +51 -0
migrate.py ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import psycopg2
2
+ from psycopg2.extras import RealDictCursor
3
+ from dotenv import load_dotenv
4
+ import os
5
+
6
+ load_dotenv(dotenv_path='E:/ClearVoice/.env', override=True)
7
+
8
+
9
+ local_conn = psycopg2.connect(os.getenv('DATABASE_URL'), cursor_factory=RealDictCursor)
10
+ local_cur = local_conn.cursor()
11
+
12
+ supa_conn = psycopg2.connect(os.getenv('SUPABASE_DATABASE_URL'))
13
+ supa_cur = supa_conn.cursor()
14
+
15
+ print("Fetching papers from local DB...")
16
+ local_cur.execute("SELECT pmid, title, abstract, authors, year, journal, study_type, embedding FROM studies")
17
+ papers = local_cur.fetchall()
18
+ print(f"Found {len(papers)} papers. Migrating...")
19
+
20
+ for i, paper in enumerate(papers):
21
+ try:
22
+ supa_cur.execute("""
23
+ INSERT INTO studies (pmid, title, abstract, authors, year, journal, study_type, embedding)
24
+ VALUES (%s, %s, %s, %s, %s, %s, %s, %s)
25
+ ON CONFLICT (pmid) DO NOTHING
26
+ """, (
27
+ paper['pmid'],
28
+ paper['title'],
29
+ paper['abstract'],
30
+ paper['authors'],
31
+ paper['year'],
32
+ paper['journal'],
33
+ paper['study_type'],
34
+ paper['embedding']
35
+ ))
36
+
37
+ if (i + 1) % 100 == 0:
38
+ supa_conn.commit()
39
+ print(f" Migrated {i + 1} papers...")
40
+
41
+ except Exception as e:
42
+ print(f"Error on {paper['pmid']}: {e}")
43
+ supa_conn.rollback()
44
+ continue
45
+
46
+ supa_conn.commit()
47
+ local_cur.close()
48
+ local_conn.close()
49
+ supa_cur.close()
50
+ supa_conn.close()
51
+ print(f"Migration complete. {len(papers)} papers migrated to Supabase.")