Report-Generator / migrations /migrate_subjective.py
Jaimodiji's picture
Upload folder using huggingface_hub
c001f24
Raw
History Blame
1.94 kB
import sqlite3
import json
import time
DATABASE = 'database.db'
def get_db_connection():
conn = sqlite3.connect(DATABASE)
conn.row_factory = sqlite3.Row
return conn
def migrate_subjective_questions():
print("Starting migration of subjective questions...")
conn = get_db_connection()
try:
# Fetch all subjective questions
questions = conn.execute('SELECT * FROM subjective_questions').fetchall()
updated_count = 0
for q in questions:
q_id = q['id']
q_html = q['question_html']
q_json = q['question_json']
# Check if json is empty or None
if not q_json or q_json.strip() == '':
print(f"Migrating Question ID: {q_id}")
# Create EditorJS block structure
editor_js_data = {
"time": int(time.time() * 1000),
"blocks": [
{
"type": "paragraph",
"data": {
"text": q_html
}
}
],
"version": "2.22.2" # Using a standard version
}
json_string = json.dumps(editor_js_data)
# Update the record
conn.execute(
'UPDATE subjective_questions SET question_json = ? WHERE id = ?',
(json_string, q_id)
)
updated_count += 1
conn.commit()
print(f"Migration completed. Updated {updated_count} questions.")
except Exception as e:
conn.rollback()
print(f"Error during migration: {e}")
finally:
conn.close()
if __name__ == "__main__":
migrate_subjective_questions()