You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

55 lines
1.7 KiB

#!/usr/bin/env python
import psycopg2
# Connect directly to the database
try:
conn = psycopg2.connect(
dbname="imam_javad_db",
user="postgres",
password="123456789",
host="localhost",
port="5432"
)
cursor = conn.cursor()
print("Connected to database successfully")
except Exception as e:
print(f"Failed to connect to database: {e}")
exit(1)
# Add missing transmitter fields
fields_to_add = [
('kunya', 'VARCHAR(255) NULL'),
('known_as', 'VARCHAR(255) NULL'),
('nickname', 'VARCHAR(255) NULL'),
('origin', 'VARCHAR(255) NULL'),
('lived_in', 'VARCHAR(255) NULL'),
('died_in', 'VARCHAR(255) NULL'),
('age_at_death', 'INTEGER NULL'),
('reliability', "VARCHAR(20) DEFAULT 'unknown'"),
('madhhab', "VARCHAR(20) DEFAULT 'unknown'"),
('in_sahih_bukhari', 'BOOLEAN DEFAULT FALSE'),
('in_sahih_muslim', 'BOOLEAN DEFAULT FALSE'),
('created_at', 'TIMESTAMP WITH TIME ZONE DEFAULT NOW()'),
('updated_at', 'TIMESTAMP WITH TIME ZONE DEFAULT NOW()'),
]
print("Adding missing transmitter fields...")
for field_name, field_type in fields_to_add:
try:
cursor.execute(f'ALTER TABLE hadis_transmitters ADD COLUMN IF NOT EXISTS {field_name} {field_type};')
print(f'✓ Added column: {field_name}')
except Exception as e:
print(f'✗ Error adding {field_name}: {e}')
conn.commit()
print('All missing transmitter fields added successfully!')
# Test if the fields exist
cursor.execute("SELECT column_name FROM information_schema.columns WHERE table_name = 'hadis_transmitters' AND column_name = 'kunya';")
result = cursor.fetchone()
if result:
print('✓ kunya column exists in database')
else:
print('✗ kunya column not found')
conn.close()