Files
hotels/create_tables.py
Фёдор 0cf3297290 Проект аудита отелей: основные скрипты и документация
- Краулеры: smart_crawler.py, regional_crawler.py
- Аудит: audit_orel_to_excel.py, audit_chukotka_to_excel.py
- РКН проверка: check_rkn_registry.py, recheck_unclear_rkn.py
- Отчёты: create_orel_horizontal_report.py
- Обработка: process_all_hotels_embeddings.py
- Документация: README.md, DB_SCHEMA_REFERENCE.md
2025-10-16 10:52:09 +03:00

65 lines
1.5 KiB
Python

#!/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)