2017-02-21 3 views
0

У нас есть приложение Django, которое было выпущено с Django 1.1. На протяжении многих лет мы вручную добавляли колокола и свистки к выпуску PostgreSQL для производства, которые в то время не были полностью поддерживаются с помощью автоматизации db Django, особенно в виде пользовательских индексов.Преобразование индексов postgresql в миграции Django

Django проделал долгий путь с 1.1, и теперь w/1.10. Я уверен, что среда миграции поддерживает все пользовательские функции, которые мы добавили вручную. Есть ли какой-либо автоматизированный инструмент, который будет сравнивать базу данных с моделями и генерировать миграции, чтобы обновить модели с помощью db?

ответ

2

Это встроенный в Джанго, вы можете просто запустить inspectdb

manage.py inspectdb 

Introspects таблицы базы данных в базе данных указали, заданным параметром NAME и выводит модель, модуль Джанго (файл models.py) до стандартного вывода. Вы можете выбрать, какие таблицы нужно проверить, передав их имена в качестве аргументов.

Используйте это, если у вас есть устаревшая база данных, с которой вы хотите использовать Django. Скрипт проверит базу данных и создаст модель для каждой таблицы внутри нее.

+1

Ха, "батареи включены", действительно. Раньше я читал об этой функции, но совершенно забыл об этом. Благодаря! –

Смежные вопросы