Files
meeting-room/backend/instances/migrations/0001_initial.py

111 lines
3.7 KiB
Python
Raw Normal View History

# Generated by Django 6.0.3 on 2026-04-04 04:02
import django.db.models.deletion
import uuid
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = []
operations = [
migrations.CreateModel(
name="Instance",
fields=[
(
"id",
models.UUIDField(
default=uuid.uuid4,
editable=False,
primary_key=True,
serialize=False,
),
),
(
"instance_id",
models.CharField(
max_length=100, unique=True, verbose_name="实例 ID"
),
),
(
"instance_name",
models.CharField(max_length=200, verbose_name="实例名称"),
),
(
"agent_ids",
models.JSONField(default=list, verbose_name="Agent ID 列表"),
),
(
"webhook_url",
models.URLField(
help_text="消息推送地址", verbose_name="Webhook URL"
),
),
(
"webhook_enabled",
models.BooleanField(default=True, verbose_name="启用 Webhook"),
),
(
"is_active",
models.BooleanField(default=True, verbose_name="是否活跃"),
),
(
"last_heartbeat",
models.DateTimeField(
blank=True, null=True, verbose_name="最后心跳"
),
),
("created_at", models.DateTimeField(auto_now_add=True)),
("updated_at", models.DateTimeField(auto_now=True)),
],
options={
"verbose_name": "OpenClaw 实例",
"verbose_name_plural": "OpenClaw 实例",
"db_table": "instances",
"ordering": ["-created_at"],
},
),
migrations.CreateModel(
name="MeetingInstanceMap",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("meeting_id", models.UUIDField(verbose_name="会议 ID")),
(
"agent_ids",
models.JSONField(default=list, verbose_name="参与的 Agent ID 列表"),
),
("joined_at", models.DateTimeField(auto_now_add=True)),
("left_at", models.DateTimeField(blank=True, null=True)),
(
"instance",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="meetings",
to="instances.instance",
),
),
],
options={
"db_table": "meeting_instance_maps",
"indexes": [
models.Index(
fields=["meeting_id", "left_at"],
name="meeting_ins_meeting_947179_idx",
)
],
"unique_together": {("meeting_id", "instance")},
},
),
]