Я пытаюсь создать новую БД, запустив следующий код Python, но в заголовке отображается ошибка
import os
import sys
from sqlalchemy import Column, ForeignKey, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship
from sqlalchemy import create_engine
Base = declarative_base()
class Restaurant(Base):
__tablename__ = 'restaurant'
id = Column(Integer, primary_key=True)
name = Column(String(250), nullable=False)
class MenuItem(Base):
__tablename__ = 'menu_item'
name =Column(String(80), nullable = False)
id = Column(Integer, primary_key = True)
description = Column(String(250))
price = Column(String(8))
course = Column(String(250))
restaurant_id = Column(Integer,ForeignKey('restaurant.id'))
restaurant = relationship(Restaurant)
engine = create_engine('sqlite:///restaurantmenu.db')
Я отредактировал последнюю строку кода, чтобы:
engine = create_engine('postgresql+psycopg2://vagrant:vagrant@localhost/restaurantmenu')
Я также попробовал пароль и имя пользователя своего компьютера, но все равно получил следующую ошибку:
Файл "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py",> строка 453, в соединении
вернуть self.dbapi.connect (* cargs, ** cparams)
Файл "/usr/local/lib/python2.7/dist-packages/psycopg2/init.py", строка> 130, в соединении
conn = _connect (dsn, connection_factory = connection_factory, ** kwasync)
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) FATAL: пароль> аутентификация не удалась для пользователя "vagrant"
FATAL: аутентификация по паролю не удалась для пользователя "vagrant"
Я ожидал, что файл создаст новый файл restaurant.db при запуске команды
vagrant @ vagrant $ python database_setup.py
что еще мне нужно изменить в этом коде для успешной работы?