docker 容器上的 Django MSSQL 服务器不会迁移
Django MSSQL server on docker container won't migrate
UPDATE: Solved
我在 virtualenv 上使用 macOS、Django 2.0 和 Docker 容器 SQL Server 2017 up 和 运行。我正在尝试使用这个包:https://github.com/michiya/django-pyodbc-azure
这是我的数据库 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 连接显然在工作,因为如果我设置不正确的 username/password,我会收到错误消息。我的数据库(托管在 0.0.0.0:1402 上的容器)名称确实是 TUTORIAS_DATOS
更新:我正在使用 TeamSQL 应用程序 "see" 数据库中的表并进行查询。我几乎不知道该应用程序无法正常工作。我已经连接到容器并通过 sqlcmd
查询并且表格在那里......这就是为什么我没有收到任何 "creation" 响应的原因姜戈。
问题已解决,谢谢大家的意见。
UPDATE: Solved
我在 virtualenv 上使用 macOS、Django 2.0 和 Docker 容器 SQL Server 2017 up 和 运行。我正在尝试使用这个包:https://github.com/michiya/django-pyodbc-azure
这是我的数据库 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 连接显然在工作,因为如果我设置不正确的 username/password,我会收到错误消息。我的数据库(托管在 0.0.0.0:1402 上的容器)名称确实是 TUTORIAS_DATOS
更新:我正在使用 TeamSQL 应用程序 "see" 数据库中的表并进行查询。我几乎不知道该应用程序无法正常工作。我已经连接到容器并通过 sqlcmd
查询并且表格在那里......这就是为什么我没有收到任何 "creation" 响应的原因姜戈。
问题已解决,谢谢大家的意见。