# Generated by Django 5.1.5 on 2025-02-18 10:24

import django.db.models.deletion
from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ('room', '0008_rename_last_rent_caculation_date_room_last_rent_calculation_date'),
        ('tenant', '0006_remove_tenantrent_rent_per_month'),
    ]

    operations = [
        migrations.RemoveField(
            model_name='tenant',
            name='room',
        ),
        migrations.CreateModel(
            name='TenantRoom',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('joined_on', models.DateField(help_text='Join date')),
                ('left_on', models.DateField(blank=True, null=True)),
                ('is_active', models.BooleanField(default=True)),
                ('notes', models.TextField(blank=True, null=True)),
                ('room', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='tenant_rooms', to='room.room')),
                ('tenant', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='rooms', to='tenant.tenant')),
            ],
            options={
                'db_table': 'tenant_room',
                'ordering': ['-joined_on'],
                'constraints': [models.CheckConstraint(check=models.Q(('left_on__gt', models.F('joined_on')), ('left_on__isnull', True), _connector='OR'), name='valid_date_range')],
                'unique_together': {('tenant', 'room', 'joined_on')},
            },
        ),
    ]
