Files
hotels/create_tables.py

65 lines
1.5 KiB
Python
Raw Permalink Normal View History

#!/usr/bin/env python3
"""Создание таблиц в базе данных"""
import psycopg2
from urllib.parse import unquote
# Параметры подключения
DB_HOST = "147.45.189.234"
DB_PORT = 5432
DB_NAME = "default_db"
DB_USER = "gen_user"
DB_PASSWORD = unquote("2~~9_%5EkVsU%3F2%5CS")
print("Подключаюсь к базе данных...")
try:
conn = psycopg2.connect(
host=DB_HOST,
port=DB_PORT,
database=DB_NAME,
user=DB_USER,
password=DB_PASSWORD
)
cur = conn.cursor()
# Читаем SQL схему
with open('db_schema.sql', 'r', encoding='utf-8') as f:
schema_sql = f.read()
print("Создаю таблицы...")
cur.execute(schema_sql)
conn.commit()
# Проверяем созданные таблицы
cur.execute("""
SELECT tablename
FROM pg_tables
WHERE schemaname = 'public' AND tablename LIKE 'hotel%'
ORDER BY tablename;
""")
tables = cur.fetchall()
print(f"\n✓ Успешно создано {len(tables)} таблиц:")
for (table,) in tables:
cur.execute(f"""
SELECT count(*) FROM {table};
""")
count = cur.fetchone()[0]
print(f" - {table} ({count} записей)")
cur.close()
conn.close()
print("\n✓ Схема базы данных готова к использованию!")
except Exception as e:
print(f"\n✗ Ошибка: {e}")
exit(1)