Files
VacatureRadar/apps/profiles/migrations/0001_initial.py
T
Jens b8091e59bd
deploy / deploy (push) Canceled after 0s
Initial deploy setup
2026-07-21 14:00:00 +02:00

82 lines
4.4 KiB
Python

# Generated by Django 5.2.16 on 2026-07-20 23:57
import apps.profiles.defaults
import datetime
import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name='SearchProfile',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created_at', models.DateTimeField(auto_now_add=True)),
('updated_at', models.DateTimeField(auto_now=True)),
('name', models.CharField(default='Primair profiel', max_length=120)),
('is_active', models.BooleanField(default=True)),
('locale', models.CharField(default='nl-BE', max_length=10)),
('timezone', models.CharField(default='Europe/Brussels', max_length=64)),
('home_postal_code', models.CharField(blank=True, max_length=12)),
('home_municipality', models.CharField(blank=True, max_length=120)),
('home_latitude', models.DecimalField(blank=True, decimal_places=6, max_digits=9, null=True)),
('home_longitude', models.DecimalField(blank=True, decimal_places=6, max_digits=9, null=True)),
('max_distance_km', models.PositiveIntegerField(default=45)),
('desired_titles', models.JSONField(blank=True, default=list)),
('excluded_titles', models.JSONField(blank=True, default=list)),
('desired_skills', models.JSONField(blank=True, default=list)),
('excluded_skills', models.JSONField(blank=True, default=list)),
('allowed_employment_types', models.JSONField(blank=True, default=list)),
('preferred_workplace', models.JSONField(blank=True, default=list)),
('preferred_regions', models.JSONField(blank=True, default=list)),
('excluded_regions', models.JSONField(blank=True, default=list)),
('hard_rules', models.JSONField(blank=True, default=apps.profiles.defaults.default_hard_rules)),
('soft_preferences', models.JSONField(blank=True, default=apps.profiles.defaults.default_soft_preferences)),
('weights', models.JSONField(blank=True, default=apps.profiles.defaults.default_weights)),
('recommendation_threshold', models.PositiveSmallIntegerField(default=65)),
('top_match_threshold', models.PositiveSmallIntegerField(default=90)),
('digest_time', models.TimeField(default=datetime.time(7, 30))),
('quiet_hours_start', models.TimeField(default=datetime.time(22, 0))),
('quiet_hours_end', models.TimeField(default=datetime.time(7, 0))),
('learning_enabled', models.BooleanField(default=True)),
('version', models.PositiveIntegerField(default=1)),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
options={
'ordering': ['-is_active', 'name'],
},
),
migrations.CreateModel(
name='ProfileRevision',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created_at', models.DateTimeField(auto_now_add=True)),
('updated_at', models.DateTimeField(auto_now=True)),
('version', models.PositiveIntegerField()),
('snapshot', models.JSONField(default=dict)),
('reason', models.CharField(blank=True, max_length=200)),
('profile', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='revisions', to='profiles.searchprofile')),
],
options={
'ordering': ['-version'],
},
),
migrations.AddConstraint(
model_name='searchprofile',
constraint=models.UniqueConstraint(fields=('user', 'name'), name='unique_profile_name_per_user'),
),
migrations.AddConstraint(
model_name='profilerevision',
constraint=models.UniqueConstraint(fields=('profile', 'version'), name='unique_revision_version_per_profile'),
),
]