поэтому, как часть MOOC веб-программирования, я должен подключиться к базе данных PostgreSQL, размещенной на Heroku, используя Python и SQLalchemy.Я потратил много часов, пытаясь сделать это безрезультатно.Моя главная проблема в том, что я не могу подключиться к базе данных, потому что каждый раз, когда я пытаюсь запустить скрипт для обновления или просто проверяю базу данных, я получаю «Сервер работает на хосте» ec2-174-129-35-61.compute-1.amazonaws.com "(174.129.35.61) и принимать соединения TCP / IP через порт 5432?" в командной строке.
Я много сделалисследования пытаются выяснить это, и кажется, что, возможно, URI моей базы данных не настроен для принятия публичных подключений.Но я попытался установить ssl = require и все еще не смог решить проблему.Может быть, я не правильно сделал?
Я пришел к мысли, что, возможно, я делаю что-то не так с кодом, или что я должен попытаться подключиться через CLI Heroku, а не из командной строки, но я неконечно.Это мой простой тестовый код:
import os
from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker
if not os.getenv("DATABASE_URL"):
raise RuntimeError("DATABASE_URL is not set")
engine = create_engine(os.getenv("DATABASE_URL"))
db = scoped_session(sessionmaker(bind=engine))
db.execute("INSERT INTO books VALUES (1, 1, 1, 1)")
db.commit()
Я установил переменную окружения DATABASE_URL в командной строке для URI базы данных, но, возможно, я сделал это неправильно?Я также попытался просто использовать URI в самом коде, но все равно не смог заставить его работать.
Я впервые использую базы данных с Heroku, поэтому я совершенно новичок, может, я делаю что-то еще неправильно?Я ценю всю помощь, которую вы, ребята, можете оказать.Заранее спасибо