Как перенести тестовую базу данных в базу данных продуктов - PullRequest
0 голосов
/ 31 марта 2020

Я работаю над проектом Django, а также собираю и тестирую базу данных на GCP. Он полон тестовых данных и беспорядка.

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

Как мне перейти на новую базу данных? со всеми этими migrations/ папками?

Я не хочу удалять папку, потому что разработка может продолжаться.

Данные не нужно сохранять. Это только тестовые данные.

Django версия 2.2; Python 3.7

Спасибо.

========= update

После изменения settings.py, python manage.py makemigrations говорит, что никаких изменений не обнаружено.

Тогда я сделал python manage.py migrate, и теперь жалуется, что отношения не существует.

============== update2

Проблема, кажется, в том, что у меня было имя таблицы Customer, и я изменил его на «Клиент». Теперь он жалуется на «psycopg2.errors.UndefinedTable: отношение« app_customer »не существует».

Как это исправить, возможно, не удаляя все файлы в migrations/?

== ============== update final

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

Теперь я создал новую * fre sh и migrate работал как чудо.

Еще раз, спасибо всем за ваше предложения.

Ответы [ 2 ]

0 голосов
/ 31 марта 2020

Папка миграции - ваш друг. Нет необходимости удалять его. Вы можете сгладить миграции, если чувствуете, что папка миграции становится слишком большой со многими файлами миграции, но вам это не нужно.

Если вы планируете использовать новую базу данных в GCP, просто измените settings.py файл, который обычно находится в папке project_name/project_name/. Найдите раздел DATABASES, чтобы отразить новые учетные данные базы данных.

Как только ваше приложение указывает на новую базу данных, запустите python manage.py migrate. Это создаст схему базы данных с необходимыми таблицами, чтобы начать заполнять новую базу данных.

0 голосов
/ 31 марта 2020

Вам не нужно удалять какие-либо миграции / папки, вы можете использовать те же файлы миграции в базе данных продукта, если вам не нужны тестовые данные, просто удалите базу данных, т.е. db.sqlite3 (я полагаю, вы используете по умолчанию база данных). Примечание. Миграционные файлы не влияют на структуру вашей базы данных (если вы удаляете и выполняете makemigrations или используете существующую, она остается прежней)

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