• [ GEEKHERO:2021 ]
  • Категории
  • Files 42

Воистину гений

СТАТЬЯ ИЛИ СОН?
Подключаем PostgreSQL к Django | GEEKHERO
root 6 марта 2021 г. 19:59 | обновлен 20 марта 2021 г. 21:11

Подключаем PostgreSQL к Django

Иконка категории
В категории "Web-разработка"

Разработка Веб-сайтов, поддержка движков, веб-фреймворки и всё про них

Метки: linux, django, python, postgresql, postgre, database, sql, sqlite


1. Устанавливаем необходимые пакеты:

sudo apt install libpq-dev postgresql postgresql-contrib

2. После успешной установки, входим в режим psql:

sudo -u postgres psql

3. Создаем базу данных и выдаем соответствующие права пользователю root для оперирования данной базой:

CREATE DATABASE dbname;
CREATE USER root WITH PASSWORD 'dbpass';
ALTER ROLE root SET client_encoding TO 'utf8';
ALTER ROLE root SET default_transaction_isolation TO 'read committed';
ALTER ROLE root SET timezone TO 'UTC';
GRANT ALL PRIVILEGES ON DATABASE dbnameTO root;
\q #Выход из режима psql


3.1 Если у нас уже имеется база SQLite, то мы можем перенести содержимое базы в новую базу PostgreSQL:

python manage.py dumpdata > db.json #копируем содержимое SQLite в файл db.json

4. Изменяем раздел подключения базы данных в файле /DjangoProject/Settings.py и подготавливаем Django для работы с PostgreSQL

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'dbname',
        'USER' : 'root',
        'PASSWORD' : 'dbpass',
        'HOST' : '127.0.0.1',
        'PORT' : '5432',
    }
}


5. Входим в виртуальное окружение: source /project_env/bin/activate

6. Устанавливаем дополнительный пакет для работы с PostgreSQL: pip install psycopg2

7. Далее необходимо произвести создание всех таблиц в новой базе данных: python manage.py migrate

8. Затем войти в shell: python manage.py shell

9. Очистим содержимое текущей базы PostgreSQL:

>>>from django.contrib.contenttypes.models import ContentType
>>>ContentType.objects.all().delete()
>>>quit()


10. Наконец загрузим содержимое выгрузки из SQLite в новую базу с уже созданными таблицами: python manage.py loaddata db.json

 

Поделиться записью


Похожие записи:

Card image cap
MikroTik 3G 4G LTE: Мобильный роутер – из LTE в PPP

В данной статье хотелось бы затронуть мобильную тематику в популярной RouterOS, а именно подключение 3G/4G(LTE) модемов к роутерам компании MikroTik

Продолжить Чтение...
Card image cap
Запуск Django сайта на nginx + Gunicorn + SSL

Развернутая инструкция по настройке nginx, Gunicorn и SSL для вашего Django проекта в продакшене.

Продолжить Чтение...
Card image cap
Собираем кластер на ESXI

Кратчайшая минималистичная инструкция по сборке кластера на ESXI и немного про резервирование

Продолжить Чтение...
Категории
Обучение и подготовка (3)
Linux (15)
Телекоммуникации (12)
Программирование (2)
Обзоры на технику (1)
Виртуализация (1)
Web-разработка (5)
Администрирование Windows (0)

Последние записи
Быстро подключаемся к серверам по SSH из терминала
28 Фев 2023
Flask в Docker+Kuberenetes
28 Авг 2022
Готовим образ Docker для Flask приложения
26 Авг 2022

Популярные метки
Copyright 2019-2021  
Обратная связь