dana-medical-site/internal/storage/migrations/0004_seed_forms.sql
2026-10-14 13:33:13 +00:00

52 lines
3.6 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- Формы сайта. На старом сайте их было 11, но заявки приходили только в пять —
-- остальные («Написать главврачу», «Отправить резюме», «Купить в 1 клик»,
-- «Заказать продукт», «Оформление заказа») за всю историю не собрали ни одной,
-- поэтому здесь заводим только рабочие.
INSERT INTO forms (code, title, success_text) VALUES
('appointment', 'Записаться на приём',
'Спасибо! Мы свяжемся с вами, чтобы подтвердить запись.'),
('callback', 'Обратный звонок',
'Спасибо! Перезвоним вам в ближайшее время.'),
('service_order', 'Заказать услугу',
'Спасибо! Мы свяжемся с вами и расскажем подробности.'),
('review', 'Оставить отзыв',
'Спасибо за отзыв! Он появится на сайте после проверки.'),
('resume', 'Отклик на вакансию',
'Спасибо! Мы рассмотрим ваш отклик и свяжемся с вами.');
INSERT INTO form_fields (form_id, code, label, type, required, sort)
SELECT f.id, v.code, v.label, v.type, v.required, v.sort
FROM forms f
JOIN (VALUES
-- запись на приём
('appointment', 'name', 'Ваше имя', 'text', true, 10),
('appointment', 'phone', 'Телефон', 'phone', true, 20),
('appointment', 'service', 'Услуга', 'service', false, 30),
('appointment', 'doctor', 'Специалист', 'doctor', false, 40),
('appointment', 'date', 'Удобные дата и время','date', false, 50),
('appointment', 'message', 'Комментарий', 'textarea', false, 60),
-- обратный звонок
('callback', 'name', 'Ваше имя', 'text', true, 10),
('callback', 'phone', 'Телефон', 'phone', true, 20),
-- заказать услугу
('service_order', 'name', 'Ваше имя', 'text', true, 10),
('service_order', 'phone', 'Телефон', 'phone', true, 20),
('service_order', 'email', 'E-mail', 'email', false, 30),
('service_order', 'service', 'Услуга', 'service', false, 40),
('service_order', 'message', 'Сообщение', 'textarea', false, 50),
-- отзыв
('review', 'name', 'Ваше имя', 'text', true, 10),
('review', 'phone', 'Телефон', 'phone', true, 20),
('review', 'rating', 'Оценка', 'rating', false, 30),
('review', 'doctor', 'Специалист', 'doctor', false, 40),
('review', 'message', 'Текст отзыва', 'textarea', true, 50),
-- отклик на вакансию
('resume', 'name', 'Ваше имя', 'text', true, 10),
('resume', 'phone', 'Телефон', 'phone', true, 20),
('resume', 'email', 'E-mail', 'email', false, 30),
('resume', 'message', 'О себе', 'textarea', false, 40),
('resume', 'file', 'Резюме файлом', 'file', false, 50)
) AS v(form_code, code, label, type, required, sort)
ON v.form_code = f.code;