fix: align tubco onboarding models with deployed schema

This commit is contained in:
Md Bayazid Bostame
2026-04-15 09:51:00 +02:00
parent 9911cc5f82
commit 054558fda2
4 changed files with 178 additions and 0 deletions

View File

@@ -0,0 +1,155 @@
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('workflows', '0059_userprofile_temporary_role_fields'),
]
operations = [
migrations.SeparateDatabaseAndState(
database_operations=[
migrations.RunSQL(
sql=(
"ALTER TABLE workflows_onboardingrequest "
"ADD COLUMN IF NOT EXISTS street_address varchar(255) NOT NULL DEFAULT ''; "
"ALTER TABLE workflows_onboardingrequest "
"ADD COLUMN IF NOT EXISTS postal_code varchar(50) NOT NULL DEFAULT ''; "
"ALTER TABLE workflows_onboardingrequest "
"ADD COLUMN IF NOT EXISTS city varchar(120) NOT NULL DEFAULT ''; "
"ALTER TABLE workflows_onboardingrequest "
"ADD COLUMN IF NOT EXISTS salary_gross_monthly numeric(10,2) NULL; "
"ALTER TABLE workflows_onboardingrequest "
"ADD COLUMN IF NOT EXISTS weekly_hours numeric(5,2) NULL; "
"ALTER TABLE workflows_onboardingrequest "
"ADD COLUMN IF NOT EXISTS probation_months smallint NULL; "
"ALTER TABLE workflows_onboardingrequest "
"ADD COLUMN IF NOT EXISTS notice_period varchar(255) NOT NULL DEFAULT ''; "
"ALTER TABLE workflows_onboardingrequest "
"ADD COLUMN IF NOT EXISTS vacation_days_total smallint NULL; "
"ALTER TABLE workflows_onboardingrequest "
"ADD COLUMN IF NOT EXISTS place_of_work varchar(255) NOT NULL DEFAULT ''; "
"ALTER TABLE workflows_onboardingrequest "
"ADD COLUMN IF NOT EXISTS approval_released_at timestamp with time zone NULL; "
"ALTER TABLE workflows_onboardingrequest "
"ADD COLUMN IF NOT EXISTS approval_released_by_name varchar(255) NOT NULL DEFAULT ''; "
"ALTER TABLE workflows_offboardingrequest "
"ADD COLUMN IF NOT EXISTS approval_released_at timestamp with time zone NULL; "
"ALTER TABLE workflows_offboardingrequest "
"ADD COLUMN IF NOT EXISTS approval_released_by_name varchar(255) NOT NULL DEFAULT ''; "
"ALTER TABLE workflows_portalcompanyconfig "
"ADD COLUMN IF NOT EXISTS contract_signatory_name varchar(255) NOT NULL DEFAULT ''; "
"ALTER TABLE workflows_portalcompanyconfig "
"ADD COLUMN IF NOT EXISTS contract_signatory_line varchar(255) NOT NULL DEFAULT ''; "
"ALTER TABLE workflows_portalcompanyconfig "
"ADD COLUMN IF NOT EXISTS contract_signature_image varchar(100) NULL;"
),
reverse_sql=(
"ALTER TABLE workflows_onboardingrequest DROP COLUMN IF EXISTS street_address; "
"ALTER TABLE workflows_onboardingrequest DROP COLUMN IF EXISTS postal_code; "
"ALTER TABLE workflows_onboardingrequest DROP COLUMN IF EXISTS city; "
"ALTER TABLE workflows_onboardingrequest DROP COLUMN IF EXISTS salary_gross_monthly; "
"ALTER TABLE workflows_onboardingrequest DROP COLUMN IF EXISTS weekly_hours; "
"ALTER TABLE workflows_onboardingrequest DROP COLUMN IF EXISTS probation_months; "
"ALTER TABLE workflows_onboardingrequest DROP COLUMN IF EXISTS notice_period; "
"ALTER TABLE workflows_onboardingrequest DROP COLUMN IF EXISTS vacation_days_total; "
"ALTER TABLE workflows_onboardingrequest DROP COLUMN IF EXISTS place_of_work; "
"ALTER TABLE workflows_onboardingrequest DROP COLUMN IF EXISTS approval_released_at; "
"ALTER TABLE workflows_onboardingrequest DROP COLUMN IF EXISTS approval_released_by_name; "
"ALTER TABLE workflows_offboardingrequest DROP COLUMN IF EXISTS approval_released_at; "
"ALTER TABLE workflows_offboardingrequest DROP COLUMN IF EXISTS approval_released_by_name; "
"ALTER TABLE workflows_portalcompanyconfig DROP COLUMN IF EXISTS contract_signatory_name; "
"ALTER TABLE workflows_portalcompanyconfig DROP COLUMN IF EXISTS contract_signatory_line; "
"ALTER TABLE workflows_portalcompanyconfig DROP COLUMN IF EXISTS contract_signature_image;"
),
),
],
state_operations=[
migrations.AddField(
model_name='onboardingrequest',
name='street_address',
field=models.CharField(blank=True, default='', max_length=255, verbose_name='Straße und Hausnummer'),
),
migrations.AddField(
model_name='onboardingrequest',
name='postal_code',
field=models.CharField(blank=True, default='', max_length=50, verbose_name='Postleitzahl'),
),
migrations.AddField(
model_name='onboardingrequest',
name='city',
field=models.CharField(blank=True, default='', max_length=120, verbose_name='Stadt'),
),
migrations.AddField(
model_name='onboardingrequest',
name='salary_gross_monthly',
field=models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='Monatsgehalt brutto'),
),
migrations.AddField(
model_name='onboardingrequest',
name='weekly_hours',
field=models.DecimalField(blank=True, decimal_places=2, max_digits=5, null=True, verbose_name='Wochenstunden'),
),
migrations.AddField(
model_name='onboardingrequest',
name='probation_months',
field=models.PositiveSmallIntegerField(blank=True, null=True, verbose_name='Probezeit in Monaten'),
),
migrations.AddField(
model_name='onboardingrequest',
name='notice_period',
field=models.CharField(blank=True, default='', max_length=255, verbose_name='Kündigungsfrist'),
),
migrations.AddField(
model_name='onboardingrequest',
name='vacation_days_total',
field=models.PositiveSmallIntegerField(blank=True, null=True, verbose_name='Urlaubstage pro Jahr'),
),
migrations.AddField(
model_name='onboardingrequest',
name='place_of_work',
field=models.CharField(blank=True, default='', max_length=255, verbose_name='Arbeitsort'),
),
migrations.AddField(
model_name='onboardingrequest',
name='approval_released_at',
field=models.DateTimeField(blank=True, null=True),
),
migrations.AddField(
model_name='onboardingrequest',
name='approval_released_by_name',
field=models.CharField(blank=True, default='', max_length=255),
),
migrations.AddField(
model_name='offboardingrequest',
name='approval_released_at',
field=models.DateTimeField(blank=True, null=True),
),
migrations.AddField(
model_name='offboardingrequest',
name='approval_released_by_name',
field=models.CharField(blank=True, default='', max_length=255),
),
migrations.AddField(
model_name='portalcompanyconfig',
name='contract_signatory_name',
field=models.CharField(blank=True, default='', max_length=255),
),
migrations.AddField(
model_name='portalcompanyconfig',
name='contract_signatory_line',
field=models.CharField(blank=True, default='', max_length=255),
),
migrations.AddField(
model_name='portalcompanyconfig',
name='contract_signature_image',
field=models.FileField(
blank=True,
null=True,
upload_to='branding/signatures/',
),
),
],
),
]