Проект 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 и спросите.