Создание схемы базы данных с помощью Python

Я хочу создать базовую схему БД для моего проекта django, чтобы отобразить все мои приложения с моделями и полями моделей с граничными условиями и т. д. Есть ли уже генератор схемы DB для django в python? Или иначе, как я должен это делать.

3 ответов


Если вы говорите о необходимости видеть схему SQL, запустите ./manage.py sqlall <appname>

Если вы хотите визуализацию схемы, вы можете сделать django-extensions и работать ./manage.py graph_models -a -g -o my_project.png. Это создаст для вас симпатичный график схемы, но обычно опускает граничные условия. возможно, вы захотите проверить параметры добавления дополнительных данных. http://readthedocs.org/docs/django-extensions/en/latest/graph_models.html


manage.py sql <appname appname ...> (docs)


используя ваш DB

как говорится в учебник, вы можете использовать клиент командной строки вашей базы данных для получения схемы.

пример использования sqlite:

python manage.py dbshell
> .schema

для этого может потребоваться установить sqlite3.

Использование Django

раньше вы могли использовать python manage.py sql ..., но он был осужден в 1,9 в пользу миграции. Можно проверить исходные сценарии миграции использование:

python manage.py sqlmigrate myapp 0001_initial

(от ответ: эквивалент sqlall в Django 1.9?)