Сервер Django MSSQL в Docker-контейнере не переносится - PullRequest
0 голосов
/ 25 апреля 2018

ОБНОВЛЕНИЕ: решено

Я использую macOS, Django 2.0 на virtualenv и Docker-контейнер с запущенным и запущенным SQL Server 2017. Я пытаюсь использовать этот пакет: https://github.com/michiya/django-pyodbc-azure

Это мои настройки DATABASES settings.py:

DATABASES = {
    'default': {
        'ENGINE': 'sql_server.pyodbc',
        'NAME': 'TUTORIAS_DATOS',
        'HOST': '0.0.0.0',
        'PORT': '1402',
        'USER': '***',
        'PASSWORD': '***',
        'OPTIONS': {
            'driver': 'ODBC Driver 13 for SQL Server',
            'driver_charset': 'iso-8859-1',
        }
    }
}

Проблема в том, что когда я делаю python manage.py makemigrations миграция выполняется, но когда я пытаюсь применить миграцию к базе данных (python manage.py migrate), я получаю:

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, menu, sessions
Running migrations:
  No migrations to apply.

Вместо того, что я должен получить, если я использую sqlite (база данных Django по умолчанию), а именно:

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, menu, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying menu.0001_initial... OK
  Applying sessions.0001_initial... OK

Я не знаю, в чем может быть проблема, теоретически, если я буду следовать этим шагам (в Windows), все будет работать нормально.

Соединение ODBC, очевидно, работает, потому что, если я установил неправильное имя пользователя / пароль, я получаю сообщение об ошибке. Моя база данных (из контейнера, размещенного на 0.0.0.0:1402) имя действительно TUTORIAS_DATOS

1 Ответ

0 голосов
/ 25 апреля 2018

ОБНОВЛЕНИЕ: я использовал приложение TeamSQL для «просмотра» таблиц в базе данных и выполнения запросов.Мало что я знал, что приложение не работает должным образом ... Я подключился к контейнеру и запросил через sqlcmd, и таблицы были там ... Вот почему я не получил никакого ответа "создания" от Django.

Проблема решена, в любом случае спасибо за комментарии.

...