Работа с SQL:
1. SQL - Запросы:
Создать таблицу "price"
create table price
conn = sqlite3.connect("db.sqlite3.sql") db = conn.cursor() db.execute("""CREATE TABLE price (id INTEGER, product_name TEXT, brand_name TEXT)""") conn.commit()
Удалить таблицу "price"
drop table price
conn = sqlite3.connect("db.sqlite3.sql") db = conn.cursor() db.execute("""DROP TABLE price""") conn.commit()
Удалить из таблицы с именем "Data" строку с id = '387'
DELETE FROM Data WHERE id = '387';
Удалить из таблицы с именем "Data" все записи (строки)
DELETE FROM Data;
Копировать полностью все поля из одной "my_office" таблицы в другую "my_robot".
INSERT INTO `my_robot` SELECT * FROM `db`.`my_office`;
2. Установка PostgreSQL:
Ставим сам сервер PostgreSQL и библиотеку разработчика (она пригодится нам при установке бэкэнда)
sudo apt-get update
sudo apt-get install python3-pip python3-dev libpq-dev postgresql postgresql-contrib
1. Открываем консоль PostgreSQL
sudo -u postgres psql postgres
2. Задаем пароль администратора БД
\password postgres (например 123456)
3. Создаем и настраиваем пользователя при помощи которого будем соединяться
с базой данных из Django (ну очень плохая практика все делать через ...
суперпользователя).
Заодно указываем значения по умолчанию для кодировки, уровня изоляции
транзакций и временного пояса.
create user user_name with password 'password';
Пример: create user uaenergy with password '123456';
После этого получаем ответ: CREATE ROLE
Затем выполняем следующую команду:
alter role user_name set client_encoding to 'utf8';
Пример: alter role uaenergy set client_encoding to 'utf8';
После этого получаем ответ: ALTER ROLE
Затем выполняем следующую команду:
alter role user_name set default_transaction_isolation to 'read committed';
Пример: alter role uaenergy set default_transaction_isolation to 'read committed';
После этого получаем ответ: ALTER ROLE
Затем выполняем следующую команду:
alter role user_name set timezone to 'UTC';
Пример: alter role uaenergy set timezone to 'UTC';
После этого получаем ответ: ALTER ROLE
Временной пояс можно указать свой, согласно тому, который вы прописываете в settings.py проекта. А про страшное определение уровень изоляции транзакций, если оно вам не знакомо, лучше все таки прочитать из учебника по SQL - пригодится.
4. Создаем базу для нашего проекта
create database django_db owner user_name;
Пример: create database db_phonebook owner uaenergy;
После этого получаем ответ: CREATE DATABASE
5. Выходим из консоли
\q
6. В окружении проекта устанавливаем бэкэнд для PostgreSQL
pip3 install psycopg2
pip3 install psycopg2-binary
После этого получаем ответ: Successfully installed psycopg2-2.7.6.1
7. Последний наш шаг - настроить раздел DATABASES конфигурационного файла проекта settings.py
'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'db_phonebook', 'USER' : 'uaenergy', 'PASSWORD' : 'password', 'HOST' : '127.0.0.1', 'PORT' : '5432',
Дальше все как обычно:
Делаем миграцию
python3 manage.py migrate
Создаем суперпользователя
python3 manage.py createsuperuser
Запускаем сервер
python3 manage.py runserver
На этом все! Радуемся! :)