НЕ МОЖЕТ подключиться к SQL Server из Django на Heroku - PullRequest
0 голосов
/ 11 февраля 2019

Мой веб-сайт просто загрузит существующую таблицу (бренд) с сервера SQL и отобразит ее на странице индекса.Я могу запустить веб-сайт на своей машине без каких-либо проблем, но кажется, что при развертывании проекта в Heroku таблицы не существует.

(Развертывание работает нормально, если веб-сайт не 't подключиться к SQL Server.)

Это мои настройки:

runtime.txt

python-3.7.0

Procfile

web: gunicorn project_heroku.wsgi --log-file -

settings.py

DATABASES = {
    'default': {
        'ENGINE': 'sql_server.pyodbc',
        'NAME': DB_DEFAULT_NAME,
        'USER': DB_USER,
        'PASSWORD': DB_PASSWORD,
        'HOST': DB_HOST,
        'PORT': '',
        'OPTIONS': {
            'driver': 'ODBC Driver 17 for SQL Server',
            'unicode_results': True,    
        }
    }
}

models.py

class Brand(models.Model):
    id = models.IntegerField(primary_key=True)
    name = models.CharField(max_length=60)

    class Meta:
        managed = False
        db_table = 'brand'

просмотров.py

from .models import Brand

def index(request):
    brand = list(Brand.objects.all().values())
    context = {
        'brand': brand
    }
    return render(request, 'index.html', context)

Я добавил 2 пакета сборки на Heroku

  1. https://github.com/heroku/heroku-buildpack-apt
  2. heroku / python

В моем Aptfile

unixodbc
unixodbc-dev
python-pyodbc
libsqliteodbc

В моих требованиях. Txt

django
pyodbc
gunicorn
django-heroku
django-pyodbc-azure

Пакет был успешно собран, но сайт дает этоошибка

ProgrammingError at /
relation "brand" does not exist
LINE 1: SELECT "brand"."id", "brand"."name" FROM "brand"

ERROR SCREENSHOT

Пожалуйста, помогите!Спасибо !!

==================================

Обновление:

Я обнаружил, что Heroku автоматически создает и прикрепляет postgresql, который мне не нужен.Поэтому я удалил postgresql, и ошибка изменилась на Не могу открыть lib 'ODBC Driver 17 for SQL Server': файл не найден.:( Полагаю, что я должен что-то сделать с конфигом DATABASE_URL.

...