pastila
7/29/2019 - 4:35 AM

Specregion

Процесс репликации бд:

Мастер

#my.ini
[mysqld]:
server-id = 1
log-bin = /var/lib/mysql/mysql-bin 
replicate-do-db = specregion

Создание пользователя на мастере

GRANT replication slave ON "specregion".* TO "replication"@"*" IDENTIFIED BY "password";

Получения текущего состояни мастера

show master status

MASTER_LOG_FILE и MASTER_LOG_POS нужны как маркеры текущего изменения, с которого будет считывать слэйв

Реплика

#my.ini
[mysqld]:
server-id = 2 # должен быть отличен от мастера
relay-log = /var/lib/mysql/mysql-relay-bin
relay-log-index = /var/lib/mysql/mysql-relay-bin.index
replicate-do-db = specregion # название бд должно совпадать, либо слэйв должен работать с определенным параметром
CHANGE MASTER TO MASTER_HOST = "192.168.1.101", MASTER_PORT=3306, MASTER_USER = 'replication', MASTER_PASSWORD = 'password', MASTER_LOG_FILE='log_name_on_master',
   MASTER_LOG_POS=log_offset_on_master, MASTER_DELAY=60;

Запуск слэйва START SLAVE

Получить статус запуска SHOW SLAVE STATUS

Перенос данных.

При создании дампа с мастера на реплику все операции на запись должно быть заблокированы!

После создания дампа необходимо узнать позицию текущего бинарного лога MASTER_LOG_POS (show master status)

Подключение к мастеру должно быть осуществлено после восстановления их дампа с подключением к нужной позиции MASTER_LOG_POS

Настройки приложения

#databases.yml
    slaves:
        connection:
          dsn: mysql:host=127.0.0.1;port=33061;dbname=sprshop_prod
          username: root
          password: mysql1pass
          encoding:   utf8
          persistent: true
          pooling:    true
Редактиро лого

1. База MySQl, не основная
2. Каждый клиент имеет квоту на хранение
3. Данные о товарах и пользователях получены из api спецрегиона
4. Аутентфикация пользователей через спецрегион
5. Админка в ОТДЕЛЬНОМ административном интерфейсе

	

security:
	ROLE_MANAGER
	ROLE_CLIENT
	ROLE_LOGGER
	ROLE_ADMIN
role_hierarchy:
	ROLE_MANAGER: ROLE_AUTHENTICATED
	ROLE_LOGGER: ROLE_AUTHENTICATED
	ROLE_ADMIN: ROLE_AUTHENTICATED

Actions:
	1. Создание проекта
		1.1. Выбор товара
			- По ссылке с указанием товара (ссылка есть на страницах доступных товаров)
			- На странице создания нового проекта выбрать доступный товар
		1.2. Выбор способа нанесения логотипа
			- Есть способы(термоперенос, вышивка, шелкография), у каждого способа есть доп. инфо
		1.3. Автоматическая привязка проекта к пользователю(если он авторизован)
		1.4. В результате имеем проект с выбранным способом нанесения, пользователем и полотном для фото
	2. Редактирование проекта
		2.1. Полотна создаются на каждое фото товара. 1 фото - 1 полотно
		2.2. <фронт>
	3. Добавление изображений*
		3.1. Конвертация изображений?? Оригинал в векторе должен быть сохранен
		3.2. Возможность просматривать ранее загруженные изображения (для этого проекта)
		3.3. <Фронт>
	4. Добавление надписи
		<фронт>
	5. Добавление фигуры
		<фронт>
	6. Загрузка файла исходного изображения (.cdr)*
		6.1. Логотип является отдельным видом изображения и предполагается в векторе
		6.2. Возможность заказать нарисовать логотип в векторе
	7. Примерка на другие товары
		7.1. Возможность искать товары по артикулу и названию
		7.2. Смена товара у проекта - удаление полотен и создание новых с сохранением всех данных старого проекта
	8. Смена способа нанесения
		8.1. Меняем способ нанесения на новый
		8.2. Изменене цветовой палитры соответствено способу??? Фронт?
	9. Изъявление желания сделать несколько разных вариантов нанесения на один товар
		9.1. Должен быть комментарий у заказа (заказ - это проект?? Или отдельно?)
	10. Сохранение проекта
		10.1. Сохраненный проект имеет уникальныую ссылку
		10.2. Если проект не был обновлен в течение времени (1/6 месяцов для неавт./авт.), то ссылка не работает (удаляется проект?)
		10.3. Название для версии дизайна - обязательно
		10.4. Название, ИНН организации - необязательно
		10.5. Проект может иметь до 10 версий дизайна
	11. Ограничение публичного доступа к сохраненному проекту
		11.1. Варианты:
			- Только автор
			- Только авторизованный пользователь
			- Выбранная группа пользователей
			- Доступ по ссылке (кто угодно)
	12. Возобновление работы над проектом
		12.1. Может быть загружен сохраненный проект
		12.2. Может быть сохранен несохраненный проект (черновик - 1 на пользователя???)
		12.3. Неавторизванный пользователь теряет черновик через 7 дней
		12.4. Авторизованный пол зователь имеет неограниченную квоту на хранение черновика (по времени)
		12.5. При перезаходе открываем последний открытый проект
		12.6. При начале редатирования проекта мы теряем другие черновики
	13. Версии проекта
		13.1. Версии отображаются в обратном хронологическом порядке
		13.2. Переключение междй версиями/черновиком не сбрасывают черновик, до момента редактирования
	14. Экспорт коммерческого предложения	
		14.1. Доступно только для авторизованного клиента
		14.2. Отправка на email клиента 
		14.5. Генерация pdf с данными проекта (в тз)
	15. Знакомство с правилами работы
		15.1. Где-то хранятся правила работы 
	16. Формирование заявки
		16.1. ...
	17. Обсуждение проекта с менеджером
		17.1. Менеджер может просматривать сохраненные версии и черновик


	* Каждому загружаемому изображению соотвестсвует векторное изображение(Corel Draw), либо галочка на отрисовку
	** Полотно - соответствует изображению товара. Товар соответствует проекту. У проекта несколько полотен - под одному на изображение
	*** Черновик - несохраненный проект

Товар:
	- отмечен для нанесения логотипа
	- находится в разделе спец. одежда