Docker容器上的Django MSSQL服务器无法迁移

时间:2018-04-25 12:31:19

标签: python django docker pyodbc django-pyodbc-azure

  

更新:已解决

我在virtualenv上使用macOS,Django 2.0,在SQL Server 2017上启动并运行Docker容器。我试图使用此软件包: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 :(得分:2)

更新:我使用TeamSQL应用程序“查看”数据库中的表并进行查询。很少我知道应用程序无法正常运行..我已经连接到容器并通过sqlcmd查询并且表格在那里......这就是为什么我没有得到Django的任何“创建”响应。

问题已解决,无论如何都要感谢评论。