139 lines
4.8 KiB
Python
139 lines
4.8 KiB
Python
# Generated by Django 3.2.5 on 2021-08-04 17:27
|
|
|
|
import datetime
|
|
|
|
import django.db.models.deletion
|
|
from django.db import migrations, models
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
initial = True
|
|
|
|
dependencies = [
|
|
("organizations_ext", "0001_squashed_0009_organization_scrub_ip_addresses"),
|
|
("environments", "0002_auto_20201229_1643"),
|
|
("projects", "0008_alter_projectkey_created"),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name="Monitor",
|
|
fields=[
|
|
(
|
|
"id",
|
|
models.BigAutoField(
|
|
auto_created=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
verbose_name="ID",
|
|
),
|
|
),
|
|
("created", models.DateTimeField(auto_now_add=True, db_index=True)),
|
|
(
|
|
"monitor_type",
|
|
models.CharField(
|
|
choices=[
|
|
("ping", "Ping"),
|
|
("get", "GET"),
|
|
("post", "POST"),
|
|
("ssl", "SSL"),
|
|
("heartbeat", "Heartbeat"),
|
|
],
|
|
default="ping",
|
|
max_length=12,
|
|
),
|
|
),
|
|
("name", models.CharField(max_length=200)),
|
|
("url", models.URLField(blank=True)),
|
|
("expected_status", models.PositiveSmallIntegerField(default=200)),
|
|
("expected_body", models.CharField(blank=True, max_length=2000)),
|
|
("ip_address", models.GenericIPAddressField(blank=True, null=True)),
|
|
(
|
|
"interval",
|
|
models.DurationField(default=datetime.timedelta(seconds=60)),
|
|
),
|
|
(
|
|
"environment",
|
|
models.ForeignKey(
|
|
blank=True,
|
|
null=True,
|
|
on_delete=django.db.models.deletion.SET_NULL,
|
|
to="environments.environment",
|
|
),
|
|
),
|
|
(
|
|
"organization",
|
|
models.ForeignKey(
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
to="organizations_ext.organization",
|
|
),
|
|
),
|
|
(
|
|
"project",
|
|
models.ForeignKey(
|
|
blank=True,
|
|
null=True,
|
|
on_delete=django.db.models.deletion.SET_NULL,
|
|
to="projects.project",
|
|
),
|
|
),
|
|
],
|
|
options={"abstract": False,},
|
|
),
|
|
migrations.CreateModel(
|
|
name="MonitorCheck",
|
|
fields=[
|
|
(
|
|
"id",
|
|
models.BigAutoField(
|
|
auto_created=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
verbose_name="ID",
|
|
),
|
|
),
|
|
("created", models.DateTimeField(auto_now_add=True, db_index=True)),
|
|
("is_up", models.BooleanField()),
|
|
(
|
|
"start_check",
|
|
models.DateTimeField(
|
|
help_text="Time when the start of this check was performed"
|
|
),
|
|
),
|
|
(
|
|
"reason",
|
|
models.PositiveSmallIntegerField(
|
|
blank=True,
|
|
choices=[
|
|
(0, "Unknown"),
|
|
(1, "Timeout"),
|
|
(2, "Wrong status code"),
|
|
(3, "Expected response not found"),
|
|
(4, "SSL Error"),
|
|
],
|
|
default=0,
|
|
null=True,
|
|
),
|
|
),
|
|
("response_time", models.DurationField(blank=True, null=True)),
|
|
("data", models.JSONField(blank=True, null=True)),
|
|
(
|
|
"monitor",
|
|
models.ForeignKey(
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
related_name="checks",
|
|
to="uptime.monitor",
|
|
),
|
|
),
|
|
],
|
|
options={"ordering": ("-created",),},
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="monitorcheck",
|
|
index=models.Index(
|
|
fields=["start_check", "monitor"], name="uptime_moni_start_c_6434f7_idx"
|
|
),
|
|
),
|
|
]
|