65 lines
2.3 KiB
Python
65 lines
2.3 KiB
Python
# Generated by Django 2.2.19 on 2021-03-16 13:44
|
|
|
|
import django.db.models.deletion
|
|
from django.db import migrations, models
|
|
|
|
create_gist_constraints_on_leases = """
|
|
ALTER TABLE agendas_lease
|
|
ADD CONSTRAINT lease_desk_constraint
|
|
EXCLUDE USING GIST(desk_id WITH =, tstzrange(start_datetime, end_datetime) WITH &&)
|
|
WHERE (desk_id IS NOT NULL);
|
|
ALTER TABLE agendas_lease
|
|
ADD CONSTRAINT lease_resource_constraint
|
|
EXCLUDE USING GIST(resource_id WITH =, tstzrange(start_datetime, end_datetime) WITH &&)
|
|
WHERE (resource_id IS NOT NULL);
|
|
"""
|
|
|
|
drop_gist_constraints_on_leases = """
|
|
ALTER TABLE agendas_lease DROP CONSTRAINT lease_desk_constraint;
|
|
ALTER TABLE agendas_lease DROP CONSTRAINT lease_resource_constraint;
|
|
"""
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
dependencies = [
|
|
('agendas', '0090_default_view'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='Lease',
|
|
fields=[
|
|
(
|
|
'id',
|
|
models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
|
),
|
|
('lock_code', models.CharField(max_length=64, verbose_name='Lock code')),
|
|
('lock_expiration_datetime', models.DateTimeField(verbose_name='Lock expiration time')),
|
|
('start_datetime', models.DateTimeField(verbose_name='Start')),
|
|
('end_datetime', models.DateTimeField(verbose_name='End')),
|
|
(
|
|
'agenda',
|
|
models.ForeignKey(
|
|
null=True, on_delete=django.db.models.deletion.CASCADE, to='agendas.Agenda'
|
|
),
|
|
),
|
|
(
|
|
'desk',
|
|
models.ForeignKey(
|
|
null=True, on_delete=django.db.models.deletion.CASCADE, to='agendas.Desk'
|
|
),
|
|
),
|
|
(
|
|
'resource',
|
|
models.ForeignKey(
|
|
null=True, on_delete=django.db.models.deletion.CASCADE, to='agendas.Resource'
|
|
),
|
|
),
|
|
],
|
|
options={
|
|
'index_together': {('start_datetime', 'end_datetime')},
|
|
},
|
|
),
|
|
migrations.RunSQL(sql=create_gist_constraints_on_leases, reverse_sql=drop_gist_constraints_on_leases),
|
|
]
|