Проект Django 3.2 с DB2 (драйвер IBM_DB)

В настоящее время я занимаюсь разработкой веб-приложения с использованием Python 3.8.10, Django 3.2 и IBM_DB_DJANGO 1.5.0.0.

Когда я пытаюсь выполнить первый шаг по переходу с sqlite3 на DB2, я ввожу команду:

python manage.py migrate

К сожалению, я получил ошибку, как показано ниже

django.db.utils.ProgrammingError: Statement Execute Failed: [IBM][CLI Driver][DB2/AIX64] SQL0401N  The data types of the operands for the operation "IN" are not compatible or comparable.  SQLSTATE=42818\r SQLCODE=-401

Создаются таблицы, в том числе: AUTH_GROUP, AUTH_GROUP_PERMISSIONS, AUTH_PERMISSION, DJANGO_MIGRATIONS.

В Django_migration добавлена только одна запись. Я хотел бы знать, как я могу подтвердить, хорошо ли это использовать.

Заранее спасибо.

Симптом, о котором вы сообщили (SQL0401N при запуске migrate 0001_initial.py) в вопросе, вызван использованием типа данных BOOLEAN в некоторых миграциях.

В Db2-LUW версии 10.5 BOOLEAN не был полностью реализован для приложений, он был доступен только в compound-SQL, но еще не в приложениях.

Обратите внимание, что Db2-LUW версии 10.5 прекратил поддержку IBM 30/апреля/2020. Вы уже должны были перейти на новую версию, если только вы не приобрели расширенную поддержку.

Вы можете избежать этой проблемы, используя более новую версию Db2-LUW, например, v11.1 или v11.5, обе из которых правильно поддерживают BOOLEAN в приложениях.

Возможны другие обходные пути, откройте тикет для разработчиков ibm_db_django на github и спросите.

Вернуться на верх