#python #postgresql #sqlalchemy
#python #postgresql #sqlalchemy
Вопрос:
У меня есть база данных postgresql в моем локальном компьютере, и я запрашиваю ее, используя следующий код python.
import os
from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker
engine = create_engine(os.getenv("DATABASE_URL"))
db = scoped_session(sessionmaker(bind=engine))
def main():
flights = db.execute("select origin,destination,duration from flight").fetchall()
for flight in flights:
print(f"{flight.origin} to {flight.destination}, is {flight.duration} minutes")
if __name__ == "__main__":
main()
Что мне указать в качестве значения DATABASE_URL для mycase??
Комментарии:
1. Используете ли вы какую-либо систему баз данных? Если нет, используйте sqlite, который хранит данные в
.db
файле.DATABASE_URL
должно быть тогдаsqlite:///tmp/test.db
2. я использую postgresql
3. Поэтому используйте:
postgresql//user:password@localhost/database_name
4. Это не работает, но когда я удаляю ‘os.getenv’, это работает
5. Я думаю, это потому, что вы неправильно устанавливаете переменную среды
DATABASE_URL
. Вы можете опустить это и установить напрямую. Рад, что это сработало.
Ответ №1:
Вам нужно правильно задать URL-адрес вашей базы данных. Для PostgreSQL это:
postgresql//user:password@localhost/database_name