|
| 1 | +# Generated by Django 4.2.3 on 2023-12-23 10:31 |
| 2 | + |
| 3 | +from django.db import migrations |
| 4 | + |
| 5 | +from core.models import SpecializationCategory, Specialization |
| 6 | + |
| 7 | +SPECIALIZATIONS = [['Back-end', 'IT'], ['Front-end', 'IT'], ['DevOps', 'IT'], ['Fullstack', 'IT'], |
| 8 | + ['SEO-специалист', 'IT'], ['Таргетолог', 'IT'], ['Контекстолог', 'IT'], ['Линкбилдер', 'IT'], |
| 9 | + ['Копирайтер', 'IT'], ['Мобильный разработчик', 'IT'], ['iOS-разработчик', 'IT'], |
| 10 | + ['QA-engineer', 'IT'], ['Разработчик баз данных', 'IT'], ['Администратор баз данных', 'IT'], |
| 11 | + ['Системный аналитик', 'IT'], ['Embedded-программист', 'IT'], ['Game Developer', 'IT'], |
| 12 | + ['Программист 1С', 'IT'], ['Программист PHP', 'IT'], ['Программист Java', 'IT'], |
| 13 | + ['Программист Kotlin', 'IT'], ['Программист Ruby', 'IT'], ['Программист JavaScript', 'IT'], |
| 14 | + ['Программист Python', 'IT'], ['Программист C++', 'IT'], ['Программист C#', 'IT'], |
| 15 | + ['Верстальщик', 'IT'], ['Инженер VR', 'IT'], ['ERP-программист', 'IT'], ['Системный инженер', 'IT'], |
| 16 | + ['Системный администратор', 'IT'], ['Data Scientist', 'IT'], |
| 17 | + ['Специалист по кибербезопасности', 'IT'], ['Биоинформатик', 'IT'], ['Data Mining', 'IT'], |
| 18 | + ['BI-разработчик', 'IT'], ['Блокчейн-разработчик', 'IT'], ['ML-инженер', 'IT'], |
| 19 | + ['Link-менеджер', 'Менеджмент'], ['Тимлид', 'Менеджмент'], ['Риск-менеджер', 'Менеджмент'], |
| 20 | + ['Бизнес аналитик', 'Менеджмент'], ['Project Manager', 'Менеджмент'], |
| 21 | + ['Product Manager', 'Менеджмент'], ['Менеджер IT проектов', 'Менеджмент'], |
| 22 | + ['HR Generalist', 'Менеджмент'], ['Менеджер проектов ', 'Менеджмент'], |
| 23 | + ['Менеджер по продажам', 'Менеджмент'], ['Менеджер проекта', 'Менеджмент'], |
| 24 | + ['Бренд-менеджер', 'Менеджмент'], ['Менеджер по маркетингу', 'Менеджмент'], |
| 25 | + ['Менеджер по персоналу', 'Менеджмент'], ['Менеджер по закупкам', 'Менеджмент'], |
| 26 | + ['Менеджер по логистике', 'Менеджмент'], ['Операционный менеджер', 'Менеджмент'], |
| 27 | + ['Финансовый менеджер', 'Менеджмент'], ['Менеджер по клиентскому сервису', 'Менеджмент'], |
| 28 | + ['PR-менеджер', 'Менеджмент'], ['Менеджер по работе с партнерами', 'Менеджмент'], |
| 29 | + ['Менеджер образовательных программ', 'Менеджмент'], ['Менеджер культурных проектов', 'Менеджмент'], |
| 30 | + ['Спортивный менеджер', 'Менеджмент'], ['Медицинский менеджер', 'Менеджмент'], |
| 31 | + ['Экологический менеджер', 'Менеджмент'], ['Менеджер по талантам', 'Менеджмент'], |
| 32 | + ['Менеджер благотворительных программ', 'Менеджмент'], |
| 33 | + ['Менеджер гостиницы и ресторанов', 'Менеджмент'], ['Менеджер авиационной отрасли', 'Менеджмент'], |
| 34 | + ['Менеджер судоходной отрасли', 'Менеджмент'], ['Менеджер в сфере недвижимости', 'Менеджмент'], |
| 35 | + ['Менеджер кино и телевидения', 'Менеджмент'], ['Менеджер социальных сетей', 'Менеджмент'], |
| 36 | + ['Цифровой менеджер', 'Менеджмент'], ['Менеджер по электронной коммерции', 'Менеджмент'], |
| 37 | + ['Менеджер стартапа', 'Менеджмент'], ['Менеджер инноваций', 'Менеджмент'], |
| 38 | + ['Менеджер продукта', 'Менеджмент'], ['Менеджер логистического центра', 'Менеджмент'], |
| 39 | + ['Менеджер склада', 'Менеджмент'], ['Менеджер цепочки поставок', 'Менеджмент'], |
| 40 | + ['Менеджер качества', 'Менеджмент'], ['Менеджер контроля производства', 'Менеджмент'], |
| 41 | + ['Менеджер производственных линий', 'Менеджмент'], |
| 42 | + ['Менеджер закупок сырья и материалов', 'Менеджмент'], ['Менеджер отдела снабжения', 'Менеджмент'], |
| 43 | + ['Менеджер логистики и транспорта', 'Менеджмент'], |
| 44 | + ['Менеджер по международным операциям', 'Менеджмент'], |
| 45 | + ['Международный менеджер проекта', 'Менеджмент'], ['Менеджер экспортных операций', 'Менеджмент'], |
| 46 | + ['Менеджер импорта', 'Менеджмент'], ['Региональный менеджер', 'Менеджмент'], |
| 47 | + ['Территориальный менеджер', 'Менеджмент'], ['Менеджер франшизы', 'Менеджмент'], |
| 48 | + ['Менеджер образовательного учреждения', 'Менеджмент'], ['Менеджер ресторана', 'Менеджмент'], |
| 49 | + ['Менеджер отеля', 'Менеджмент'], ['Фитнес-менеджер', 'Менеджмент'], |
| 50 | + ['Медицинский менеджер клиники или больницы', 'Менеджмент'], |
| 51 | + ['Менеджер культурного учреждения', 'Менеджмент'], ['Музейный менеджер', 'Менеджмент'], |
| 52 | + ['Музыкальный менеджер', 'Менеджмент'], ['Литературный менеджер', 'Менеджмент'], |
| 53 | + ['Театральный менеджер', 'Менеджмент'], ['Спортивный менеджер', 'Менеджмент'], |
| 54 | + ['Менеджер спортивной школы или секции', 'Менеджмент'], ['Военный менеджер', 'Менеджмент'], |
| 55 | + ['Политический менеджер', 'Менеджмент'], ['Корпоративный менеджер', 'Менеджмент'], |
| 56 | + ['HR-менеджер (менеджер по персоналу)', 'Менеджмент'], |
| 57 | + ['Финансовый аналитик/менеджер', 'Менеджмент'], ['Финансовый контролер/менеджер', 'Менеджмент'], |
| 58 | + ['CEO', 'Менеджмент'], ['Founder', 'Менеджмент'], ['Co-Founder', 'Менеджмент'], |
| 59 | + ['Маркетолог', 'Реклама'], ['Бренд-менеджер', 'Реклама'], ['PR-менеджер', 'Реклама'], |
| 60 | + ['Копирайтер', 'Реклама'], ['Контент-менеджер', 'Реклама'], ['Журналист', 'Реклама'], |
| 61 | + ['Дизайнер', 'Реклама'], ['Иллюстратор', 'Реклама'], ['Арт-директор', 'Реклама'], |
| 62 | + ['Фотограф', 'Реклама'], ['Видеооператор', 'Реклама'], ['Веб-разработчик', 'Реклама'], |
| 63 | + ['SMM-специалист', 'Реклама'], ['Таргетолог', 'Реклама'], ['Аналитик', 'Реклама'], |
| 64 | + ['Мерчандайзер', 'Реклама'], ['Промоутер', 'Реклама'], ['Event-менеджер', 'Реклама'], |
| 65 | + ['Визажист', 'Реклама'], ['Стилист', 'Реклама'], ['Промоушен-менеджер.', 'Реклама'], |
| 66 | + ['Художник-мультипликатор', 'Реклама'], ['Инженер-конструктор', 'Инженерия'], |
| 67 | + ['Инженер-технолог', 'Инженерия'], ['Инженер-программист', 'Инженерия'], |
| 68 | + ['Инженер по качеству', 'Инженерия'], ['Инженер-электрик', 'Инженерия'], |
| 69 | + ['Инженер-строитель', 'Инженерия'], ['Инженер-механик', 'Инженерия'], |
| 70 | + ['Инженер-эколог', 'Инженерия'], ['Инженер-геодезист', 'Инженерия'], |
| 71 | + ['Инженер по автоматизации и роботизации', 'Инженерия'], ['Инженер по сварке', 'Инженерия'], |
| 72 | + ['Инженер по эксплуатации и ремонту', 'Инженерия'], ['Гидроинженер', 'Инженерия'], |
| 73 | + ['Биоинженер', 'Инженерия'], ['Астроинженер', 'Инженерия'], |
| 74 | + ['Инженер по аппаратному обеспечению', 'Инженерия'], ['Инженер по надежности', 'Инженерия'], |
| 75 | + ['Инженер по управлению производством', 'Инженерия'], ['Инженер-экономист', 'Инженерия'], |
| 76 | + ['3D моделлер', 'Инженерия'], ['Юрист', 'Юриспруденция'], ['Адвокат', 'Юриспруденция'], |
| 77 | + ['Нотариат', 'Юриспруденция'], ['Прокурор', 'Юриспруденция'], ['Судья', 'Юриспруденция'], |
| 78 | + ['Медиатор', 'Юриспруденция'], ['Корпоративный юрист', 'Юриспруденция'], |
| 79 | + ['Налоговый юрист', 'Юриспруденция'], ['Криминальный юрист', 'Юриспруденция'], |
| 80 | + ['Семейный юрист', 'Юриспруденция'], ['Международный юрист', 'Юриспруденция'], |
| 81 | + ['Специалист по правам человека', 'Юриспруденция'], ['Юридический консультант', 'Юриспруденция'], |
| 82 | + ['Эксперт по законодательству', 'Юриспруденция'], ['Страховой юрист', 'Юриспруденция'], |
| 83 | + ['Патентный поверенный', 'Юриспруденция'], ['Таможенный брокер', 'Юриспруденция'], |
| 84 | + ['Юрисконсульт', 'Юриспруденция'], ['Судебный пристав', 'Юриспруденция'], |
| 85 | + ['Законодатель', 'Юриспруденция'], ['Финансовый аналитик', 'Финансы'], ['Бухгалтер', 'Финансы'], |
| 86 | + ['Экономист', 'Финансы'], ['Аудитор', 'Финансы'], ['Менеджер по инвестициям', 'Финансы'], |
| 87 | + ['Кредитный специалист', 'Финансы'], ['Риелтор', 'Финансы'], ['Трейдер', 'Финансы'], |
| 88 | + ['Инвестиционный банкир', 'Финансы'], ['Страховой агент', 'Финансы'], ['Брокер', 'Финансы'], |
| 89 | + ['Налоговый консультант', 'Финансы'], ['Кассир', 'Финансы'], ['Финансовый контролер', 'Финансы'], |
| 90 | + ['Специалист по финансовому планированию', 'Финансы'], |
| 91 | + ['Специалист по обработке кредитных заявок', 'Финансы'], |
| 92 | + ['Специалист по страхованию имущества', 'Финансы'], ['Валютный трейдер', 'Финансы'], |
| 93 | + ['Биржевой маклер', 'Финансы']] |
| 94 | + |
| 95 | + |
| 96 | +def fill_specializations(apps, schema_editor): |
| 97 | + specs_set = set() |
| 98 | + categories_set = set() |
| 99 | + for spec, category in SPECIALIZATIONS: |
| 100 | + spec = spec.strip() |
| 101 | + category = category.strip() |
| 102 | + if category not in categories_set: |
| 103 | + category_obj = SpecializationCategory.objects.create(name=category) |
| 104 | + category_obj.save() |
| 105 | + categories_set.add(category) |
| 106 | + |
| 107 | + if spec not in specs_set: |
| 108 | + try: |
| 109 | + category_obj = SpecializationCategory.objects.get(name=category) |
| 110 | + specs_set.add(spec) |
| 111 | + spec_obj = Specialization.objects.create(name=spec, category=category_obj) |
| 112 | + spec_obj.save() |
| 113 | + except Exception as error: |
| 114 | + print('An error during migration:', error) |
| 115 | + |
| 116 | + |
| 117 | +def reverse(apps, schema_editor): |
| 118 | + SpecializationCategory.objects.all().delete() |
| 119 | + Specialization.objects.all().delete() |
| 120 | + |
| 121 | + |
| 122 | +class Migration(migrations.Migration): |
| 123 | + dependencies = [ |
| 124 | + ("core", "0007_specializationcategory_specialization"), |
| 125 | + ] |
| 126 | + |
| 127 | + operations = [ |
| 128 | + migrations.RunPython(fill_specializations, reverse_code=reverse), |
| 129 | + ] |
0 commit comments