Версия Django.

7 years 3 months ago #926 by zhuravel
zhuravel replied the topic: Версия Django.
После праздников выложу инструкцию по установке на NAS4Free-10.3.0.3.3330. Точнее свой опыт по установке.

Please Войти or Create an account to join the conversation.

  • zhuravel
  • zhuravel's Avatar Topic Author
  • Offline
  • Захожу иногда
  • Захожу иногда
More
7 years 3 months ago - 7 years 3 months ago #927 by mitshel
mitshel replied the topic: Версия Django.

zhuravel wrote: Еще, такой вопрос, при установке БД, появляется предупреждение

WARNINGS:
?: (mysql.W002) MySQL Strict Mode is not set for database connection 'default'
        HINT: MySQL's Strict Mode fixes many data integrity problems in MySQL, such as data truncation upon insertion, by escalating warnings into errors. 
		It is strongly recommended you activate it. See: https://docs.djangoproject.com/en/1.10/ref/databases/#mysql-sql-mode
Operations to perform:
. Это критично для работы SOPDS ? Я знаю, что ее можно исправить, добавив
SET sql_mode='STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ZERO_IN_DATE';"
в настройки


В инструкции этот вариант и проблемы с его использованием описаны в пункте 2.4. Прочитайте внимательно и поймете можно вам так делать или нет. Собственно в старых mySQL есть ограничение на длину индексов - 767 байт. Так как мы используем 3байтный UTF-8 то ограничение фактически составляет 255 байт, что недостаточно для некоторых индексов. Если вы включите на таких системах STRICT_TRANS_TABLE, то команда
python3 manage.py migrate
выполнится с ошибками и база данных не проинициализируется корректно. Если у вас БД посвежее, то см. п 2.4.
Last Edit: 7 years 3 months ago by mitshel.

Please Войти or Create an account to join the conversation.

  • mitshel
  • mitshel's Avatar
  • Offline
  • Администратор
  • Администратор
More
7 years 3 months ago #928 by zhuravel
zhuravel replied the topic: Версия Django.
Прошу сильно ногами не пинать. Познания во всем этом не сильно высокие, на уровне простого пользователя.

Please Войти or Create an account to join the conversation.

  • zhuravel
  • zhuravel's Avatar Topic Author
  • Offline
  • Захожу иногда
  • Захожу иногда
More
7 years 3 months ago - 7 years 3 months ago #932 by zhuravel
zhuravel replied the topic: Версия Django.
2.4 Использование InnoDB вместо MyISAM.
Указанная выше конфигурация MySQL использует в качестве движка БД MyISAM, который работает на большинтсве версий MySQL или MariaDB. Однако, если вы используете относительно свежие версии БД Mysql (MariaDB>=10.2.2, Mysql>=5.7.9), то у вас есть возможность использовать более современный движок InnoDB. Он несколько быстрее и поддерживает транзакции, что положительно скажется на целостности БД.
(На более старых версиях MySQL с ним возникают проблемы из-за ограничений на максимальную длину индексов.)
Таким образом, если у Вас современная версия MySQL (MariaDB>=10.2.2, Mysql>=5.7.9), то в настройках БД Mysql вместо указанных выше параметров OPTIONS просто используйте следующие:

'OPTIONS' : {
    'init_command': """SET default_storage_engine=INNODB; \
                       SET sql_mode='STRICT_TRANS_TABLES'; \
                       SET NAMES UTF8 COLLATE utf8_general_ci; \
                       SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED
                    """
}
этот пункт немного не понятно куда прописывать. Все...... дочитался... в настройки подключения к базе данных.
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'sopds',
        'HOST': 'localhost',
        'USER': 'sopds',
        'PASSWORD' : 'sopds',
        'OPTIONS' : {
            'init_command': "SET default_storage_engine=MyISAM;\
                             SET sql_mode='';"
        }
    }
}
Last Edit: 7 years 3 months ago by zhuravel.

Please Войти or Create an account to join the conversation.

  • zhuravel
  • zhuravel's Avatar Topic Author
  • Offline
  • Захожу иногда
  • Захожу иногда
More
Time to create page: 0.187 seconds