summaryrefslogtreecommitdiff
path: root/postgresqleu/scheduler/migrations/0001_initial.py
blob: b8c0f0393c848a2bf3636d29773e27ba672e70f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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
57
58
59
60
61
62
63
64
65
66
67
68
69
# -*- coding: utf-8 -*-
# Generated by Django 1.11.17 on 2019-01-25 13:06
from __future__ import unicode_literals

import django.contrib.postgres.fields
from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='JobHistory',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('time', models.DateTimeField(auto_now_add=True)),
                ('success', models.BooleanField()),
                ('runtime', models.DurationField()),
                ('output', models.TextField(blank=True)),
            ],
        ),
        migrations.CreateModel(
            name='ScheduledJob',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('app', models.CharField(max_length=200)),
                ('command', models.CharField(max_length=100)),
                ('description', models.CharField(max_length=200)),
                ('enabled', models.BooleanField(default=True)),
                ('notifyonsuccess', models.BooleanField(default=False, verbose_name="Notify on success", help_text="Send notification email even if job is successful")),
                ('nextrun', models.DateTimeField(blank=True, null=True)),
                ('lastrun', models.DateTimeField(blank=True, null=True)),
                ('lastrunsuccess', models.BooleanField(default=False)),
                ('lastskip', models.DateTimeField(blank=True, null=True)),
                ('scheduled_times', django.contrib.postgres.fields.ArrayField(base_field=models.TimeField(), blank=True, null=True, size=None)),
                ('scheduled_interval', models.DurationField(blank=True, null=True)),
                ('override_times', django.contrib.postgres.fields.ArrayField(base_field=models.TimeField(), blank=True, help_text='Specify a comma separated list of times (hour:minute:second) to override the default schedule', null=True, size=None)),
                ('override_interval', models.DurationField(blank=True, help_text='Specify an interval (hours:minutes:seconds) to override the default schedule', null=True)),
            ],
        ),
        migrations.CreateModel(
            name='SchedulerConfig',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('hold_all_jobs', models.BooleanField(default=False)),
            ],
        ),
        migrations.RunSQL(
            "ALTER TABLE scheduler_schedulerconfig ADD CONSTRAINT highlander CHECK (id=1)",
        ),
        migrations.RunSQL(
            "INSERT INTO scheduler_schedulerconfig (hold_all_jobs) VALUES (false)",
        ),
        migrations.AlterUniqueTogether(
            name='scheduledjob',
            unique_together=set([('app', 'command')]),
        ),
        migrations.AddField(
            model_name='jobhistory',
            name='job',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='scheduler.ScheduledJob'),
        ),
    ]