Я решил, что должен был взглянуть на tree.com
и фигура, почему она не уважает установку Unicode консоли. Оказывается, что (как многие утилиты файла командной строки), это пользуется библиотекой, названной ulib.dll
, чтобы сделать всю печать (а именно, TREE::DisplayName
вызовы WriteString
в ulib
).
Теперь, в ulib
, WriteString
метод реализован в двух классах, SCREEN
и STREAM
. SCREEN
использование версии WriteConsoleW
непосредственно, таким образом, все символы Unicode правильно отображены. STREAM
версия преобразовывает текст Unicode в одну из трех различных кодировок (_UseConsoleConversions
в ‡’ консольная кодовая страница (GetConsoleCP
), _UseAnsiConversions
в ‡’ кодовая страница ANSI по умолчанию, иначе в ‡’ кодовая страница OEM по умолчанию), и затем выписывает это. Я не знаю, как изменить режим преобразования, и я не полагаю, что преобразование может быть отключено.
я только посмотрел на это кратко, поэтому возможно, более предприимчивые души могут говорить больше об этом!:-)
Django имеет встроенную поддержку миграции - посмотрите документацию .
Django не поддерживает миграции из коробки. Однако есть подключаемое приложение для Django, которое делает именно это, и оно отлично работает. Он называется Юг .
Давно не использовал django, но, кажется, помню, что syncdb действительно выполняет команды alter для таблиц db. вам нужно отбросить таблицу, затем запустить ее снова, и она будет создана снова.
edit: извините, не выполняет alter.
В настоящее время Django не делает этого автоматически. Возможны следующие варианты:
python manage.py sql (appname)
, найти добавлена строка для поля и добавлена вручную с помощью команды SQL alter table
. (Это также позволит вам выбрать значения поля для ваших текущих записей.)