Хобрук: Ваш путь к мастерству в программировании

производственная проблема: проблема миграции sqlite3 в postgresql в django

Я пытаюсь перенести свой проект django с sqlite3 на postgresql. Я сделал это успешно в разработке, но получаю ошибки в производстве.

я использовал эту команду для создания дампов:

manage.py dumpdata --exclude auth.permission --exclude contenttypes > db.json

затем я изменил базу данных в своих настройках.py

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.postgresql_psycopg2',
    'NAME': 'dbname',
    'USER': 'username',
    'PASSWORD': 'password',
    'HOST': 'localhost',
    'PORT': '5432',
}

затем я исключаю типы контента следующим образом:

python3 manage.py shell
from django.contrib.contenttypes.models import ContentType
ContentType.objects.all().delete()
quit()

но я получаю эту ошибку:

django.db.utils.IntegrityError: Problem installing fixtures: insert or update on table 
"django_admin_log" violates foreign key constraint 
"django_admin_log_content_type_id_c4bce8eb_fk_django_co"
DETAIL:  Key (content_type_id)=(7) is not present in table "django_content_type".

пожалуйста помоги


  • Вы удаляете все ContentTypes... Таким образом, GenericForeignKeys больше не будут работать, поскольку таблица пуста, и поэтому вы больше не можете ссылаться на ContentType... 04.01.2021
  • я пытаюсь удалить с помощью ContentType.objects.all().delete(), но все еще возникает ошибка, есть ли другой способ? 04.01.2021
  • конечно, почему вы хотите удалить ContentType в первую очередь? 04.01.2021
  • @barkatpathan попробуй запустить это ContentType.objects.clear_cache() 04.01.2021
  • в этом ответе он предложил удалить их, но ошибка остается такой же, как ключ изменился с 20 на 7 04.01.2021
  • @AnkitTiwari, спасибо, я попробовал это, но все равно получаю ту же ошибку. 04.01.2021
  • @WillemVanOnsem, даже без удаления этих типов контента, не работает. получая ту же ошибку. django.db.utils.IntegrityError: Problem installing fixtures: insert or update on table "django_admin_log" violates foreign key constraint "django_admin_log_content_type_id_c4bce8eb_fk_django_co" DETAIL: Key (content_type_id)=(20) is not present in table "django_content_type". 04.01.2021
  • @barkatpathan: конечно, поскольку вам нужно добавить значения типов контента в базу данных... 04.01.2021
  • @WillemVanOnsem, что вы предлагаете делать? 04.01.2021
  • хорошо, я успешно мигрировал. я разместил ответ. 04.01.2021

Ответы:


1

хорошо, я понял и успешно мигрировал. благодаря ankit, Виллем Ван Онсем и Мостафа Гадими

Я следил за ответом Мостафы Гадими здесь шаг за шагом.

также очистил кеш, предложенный ankit

04.01.2021
Новые материалы

Что такое структура данных?
Структура данных хранит и извлекает данные. Все, что обеспечивает эти две функции, является структурой данных . Период. Вы можете пропустить оставшуюся часть статьи, если ответ..

мои январские чтения по программированию
Эрик Эллиот Программирование приложения JavaScript Эл Свейгарт «Автоматизируйте скучные вещи с помощью Python» Прогрессивное веб-приложение Google..

Создание ассоциаций секвелизации с помощью инструмента командной строки Sequelize
Sequelize - популярный, простой в использовании инструмент объектно-реляционного сопоставления (ORM) JavaScript, который работает с базами данных SQL. Довольно просто начать новый проект с..

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

Введение в машинное обучение для обнаружения аномалий (часть 1)
Тщательно созданный, тщательно спроектированный ресурс для специалистов по данным. Часть 1 Главы 03 из Руководства по машинному обучению для обнаружения аномалий Внимание! Прежде чем вы..

Начало работы с Pulumi в Digital Ocean
Цифровой океан (ДО) — отличная альтернатива многим другим поставщикам облачных услуг. DO предоставляет простой и понятный пользовательский интерфейс, упрощающий управление инфраструктурой и..

#Day68 из #100days_of_coding
Вчера был мой 68-й день кодинга. я решил один вопрос Проблема: Разбить двоичную строку на подстроки с равным количеством нулей и единиц Дана двоичная строка str длины N . Задача состоит..