Как зайти в Даркнет?!
25th January, 01:11
8
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
900
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
952
0
Очень долго работает Update запрос Oracle
27th January, 09:58
916
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
907
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
942
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1727
0
период по дням
25th October, 10:44
3957
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3722
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4614
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4382
0
Помогите пожалуйста решить задачи
24th November, 23:53
6088
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4352
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4400
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Отслеживание версий, автоматизация изменений схемы DB с помощью django
В настоящее время я смотрю на фреймворк Python Django для будущих веб-приложений на базе БД, а также для порта некоторых приложений, написанных в настоящее время в PHP. Одной из самых неприятных проблем в течение последних лет было отслеживание изменений схемы базы данных и развертывание этих изменений в производительных системах. Я не смел просить, чтобы их тоже можно было отменить, но, конечно, для тестирования и отладки это было бы отличной функцией. Из других вопросов здесь (таких как этот или этот) я вижу, что я не одинок и что это не тривиальная проблема. Кроме того, я нашел много вдохновения в ответах там.
Теперь, поскольку Django кажется очень мощным, есть ли у него какие-либо инструменты, чтобы помочь с этим? Может быть, это даже в их документах, и я пропустил это?
Существует по крайней мере две сторонние утилиты для обработки DB миграции схемы, Юг и Django эволюция. Я не пробовал ни того, ни другого, но я слышал некоторые хорошие вещи о Юге, хотя эволюция была вокруг немного дольше.
Кроме того, посмотрите на SchemaEvolution на Django wiki. Это всего лишь страница wiki о переносе базы данных.
Последний раз, когда я проверял (версия 0.97), syncdb сможет добавлять таблицы для синхронизации вашей схемы DB с вашим файлом models.py, но это невозможно:
- Переименуйте или добавьте столбец на заполненном DB. Вам нужно сделать это вручную.
- Рефакторизируйте свою модель (например, разделите таблицу на две) и повторно заполните DB соответствующим образом.
Хотя можно было бы написать сценарий Django, чтобы сделать миграцию, играя с двумя разными менеджерами, но это может занять годы, если ваш DB большой.
На недавней сессии DjangoCon была проведена панельная сессия по изменению схемы DB; есть видео сессии (благодаря Google), которое должно предоставить некоторую полезную информацию о ряде этих утилит.
А теперь еще и дмиграция . Из объявления :
django-evolution пытается решить эту проблему разумным способом, обнаружив изменения в моделях, которые еще не отражены в схеме базы данных, и выяснив, что нужно сделать, чтобы привести эти две модели обратно в синхронное состояние. В отличие от этого, dmigrations использует глупый подход: он требует, чтобы вы явно указывали изменения в последовательности миграций, которые будут применяться в свою очередь, чтобы довести базу данных до самого последнего состояния, которое отражает базовые модели.
Это означает дополнительную работу для разработчиков, которые создают миграции, но это также делает весь процесс полностью прозрачным—для наших проектов мы решили использовать самую простую систему, которая могла бы работать.
(Мой смелый)
Я слышал много хорошего о Django Schema Evolution Branch , и это были опионы реальных пользователей. Скорее всего, он работает из коробки и делает то, что должен делать.