Конвертация баз данных SQLite > PostgreSQL
17 апреля 2017 г.
django postgresqlВо время разработки проекта на Django очень удобно пользоваться встроенной базой данных SQLite, она уже настроена, не надо ничего дополнительно устанавливать, остается только сделать миграцию и все, все работает из коробки. Но бывают моменты когда проект наполняется в процессе разработки и в итоге на боевой сервер надо ставить уже базу посерьезнее, а терять имеющиеся данные не очень хочется. Вот инструкция как просто конвертировать базу SQLite в PostgreSQL.
1. Устанавливаем необходимые пакеты:
и
2. Настраиваем бд:
CREATE USER myprojectuser WITH PASSWORD 'password';
ALTER ROLE myprojectuser SET client_encoding TO 'utf8';
ALTER ROLE myprojectuser SET default_transaction_isolation TO 'read committed';
ALTER ROLE myprojectuser SET timezone TO 'UTC';
GRANT ALL PRIVILEGES ON DATABASE myproject TO myprojectuser;
\q
3. Делайем дамп имеющейся базы в json формате:
$ ./manage.py dumpdata > dump.json
4. Переключаемся на новую базу PostgreSQL в settings.py:
вместо
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
записываем
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'myproject',
'USER': 'myprojectuser',
'PASSWORD': 'password',
'HOST': 'localhost',
'PORT': '',
}
}
5. Создаем нужные таблицы в бд:
$ ./manage.py migrate
6. Загружаем ранее сделанный дамп в новую бд:
$ ./manage.py loaddata dump.json
Все проверяем и радуемся.
Просмотров - 352
Комментарий будет размещен на сайте после прохождения модерации.