Изменение базы данных разработки Django с SQLite по умолчанию на PostgreSQL - PullRequest
0 голосов
/ 14 мая 2018

Какие шаги мне нужно предпринять для перехода с базы данных SQLite по умолчанию на базу данных Postgres?

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

Или есть причина, по которой локальная разработка использует SQLite?Не рекомендуется ли использовать Postgres для локальной разработки?

Ответы [ 3 ]

0 голосов
/ 14 мая 2018

Вы можете попробовать следующие шаги:

1. Установить psycopg2 для настройки базы данных:

pip install psycopg2


2. Внутри по умолчанию settings.py

Изменить исходные значения:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

Кому:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'NAME_OF_DB',
        'USER': 'DB_USER_NAME',
        'PASSWORD': 'DB_PASSWORD',
        'HOST': 'localhost',
        'PORT': 'PORT_NUMBER',
    }
}


3. Перенос БД:

python manage.py makemigrations
python manage.py migrate


РЕДАКТИРОВАТЬ: Спасибо комментарий @robotHamster.Вот метод синхронизации существующих данных:

Сначала сделайте резервную копию данных:

python manage.py dumpdata > datadump.json

После изменения настройки БД:

python manage.py loaddata datadump.json


Источник: Как лучше всего перенести Django DB из SQLite в MySQL?
0 голосов
/ 09 июня 2018

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

Я нашел библиотеку, которая помогла мне сделать это:

https://github.com/Hitman23/pgloader

Библиотека выполняет любые необходимые преобразования.

0 голосов
/ 14 мая 2018

Вот отличное руководство о том, как это сделать из Django Girls

В нем показана установка и необходимые изменения в settings.py.

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