1# Generated by Plain 0.52.2 on 2025-07-17 02:27
2
3import plain.models.deletion
4from plain import models
5from plain.models import migrations
6
7
8class Migration(migrations.Migration):
9 initial = True
10
11 dependencies = []
12
13 operations = [
14 migrations.CreateModel(
15 name="Trace",
16 fields=[
17 ("id", models.BigAutoField(auto_created=True, primary_key=True)),
18 ("trace_id", models.CharField(max_length=255)),
19 ("start_time", models.DateTimeField()),
20 ("end_time", models.DateTimeField()),
21 ("root_span_name", models.TextField(default="", required=False)),
22 (
23 "request_id",
24 models.CharField(default="", max_length=255, required=False),
25 ),
26 (
27 "session_id",
28 models.CharField(default="", max_length=255, required=False),
29 ),
30 (
31 "user_id",
32 models.CharField(default="", max_length=255, required=False),
33 ),
34 ],
35 options={
36 "ordering": ["-start_time"],
37 },
38 ),
39 migrations.CreateModel(
40 name="Span",
41 fields=[
42 ("id", models.BigAutoField(auto_created=True, primary_key=True)),
43 ("span_id", models.CharField(max_length=255)),
44 ("name", models.CharField(max_length=255)),
45 ("kind", models.CharField(max_length=50)),
46 (
47 "parent_id",
48 models.CharField(default="", max_length=255, required=False),
49 ),
50 ("start_time", models.DateTimeField()),
51 ("end_time", models.DateTimeField()),
52 ("status", models.CharField(default="", max_length=50, required=False)),
53 ("span_data", models.JSONField(default=dict, required=False)),
54 ],
55 options={
56 "ordering": ["-start_time"],
57 },
58 ),
59 migrations.AddConstraint(
60 model_name="trace",
61 constraint=models.UniqueConstraint(
62 fields=("trace_id",), name="observer_unique_trace_id"
63 ),
64 ),
65 migrations.AddField(
66 model_name="span",
67 name="trace",
68 field=models.ForeignKey(
69 on_delete=plain.models.deletion.CASCADE,
70 related_name="spans",
71 to="plainobserver.trace",
72 ),
73 ),
74 migrations.AddIndex(
75 model_name="span",
76 index=models.Index(
77 fields=["trace", "span_id"], name="plainobserv_trace_i_89a97c_idx"
78 ),
79 ),
80 migrations.AddIndex(
81 model_name="span",
82 index=models.Index(fields=["trace"], name="plainobserv_trace_i_84958a_idx"),
83 ),
84 migrations.AddIndex(
85 model_name="span",
86 index=models.Index(
87 fields=["start_time"], name="plainobserv_start_t_cb47a3_idx"
88 ),
89 ),
90 migrations.AddConstraint(
91 model_name="span",
92 constraint=models.UniqueConstraint(
93 fields=("trace", "span_id"), name="observer_unique_span_id"
94 ),
95 ),
96 ]