Где находится база данных Django, содержащая таблицу django_migrations? - PullRequest
0 голосов
/ 13 апреля 2020

Этот вопрос задает вопрос, где находится установка Django.

Этот вопрос относится к таблице django_migrations.

I ' В интерактивную консоль я посмотрел путь из команды django, где я нахожу подкаталог db вместе с middleware, et c.

Но я понятия не имею, где это Таблица django_migrations (т. е. данные в ней) фактически хранятся.

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

Путь к расположению Django находится в каталоге в моей домашней папке, где я храню свои Python виртуальные среды, название которых начинается с "." Я склонен исключать такие каталоги из моих планов резервного копирования ...

Просто удалив db.sqlite3 в моем проекте, я вижу, что он восстанавливается, когда вы делаете migrate, вместе со списком (в моем настоящем случай) около 15 миграционных операций. Я весьма озадачен некоторыми из них: первые 10 или около того произошли до того, как я начал что-то делать с моим файлом models.py. Они где-то задокументированы или объяснены?

Ответы [ 2 ]

1 голос
/ 13 апреля 2020

Все таблицы существуют в базе данных, которую вы настраиваете в settings.py; по умолчанию это база данных SQLite в каталоге вашего проекта.

При запуске команды migrate Django собирает все миграции из всех установленных приложений (INSTALLED_APPS в * 1008). *). По умолчанию это включает в себя такие вещи, как django.contrib.auth, который определяет набор миграций , связанных с учетными записями пользователей. Это то, что дает вам готовые функции управления пользователями Django.

0 голосов
/ 13 апреля 2020

Если вы используете настройку django по умолчанию с sqlite, то есть файл db.sqlite3 - это ваша база данных.

Когда вы говорите, что он «регенерируется» - он создается путем миграции. Когда вы запускаете python manage.py migrate, вы можете увидеть множество миграций из установленных django приложений, включая некоторые по умолчанию, такие как django.contrib.auth с моделью User.

Миграции хранятся в каталоге <app_name>/migrations , Вы можете проверить некоторые миграции по умолчанию здесь , это миграции по умолчанию, но есть и другие.

...