0001_initial.py 4.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. # Generated by Django 5.2.9 on 2026-01-23 09:47
  2. import common.encoder.encoder
  3. import django.db.models.deletion
  4. import uuid_utils.compat
  5. from django.db import migrations, models
  6. class Migration(migrations.Migration):
  7. initial = True
  8. dependencies = [
  9. ('users', '0001_initial'),
  10. ]
  11. operations = [
  12. migrations.CreateModel(
  13. name='Trigger',
  14. fields=[
  15. ('create_time', models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='创建时间')),
  16. ('update_time', models.DateTimeField(auto_now=True, db_index=True, verbose_name='修改时间')),
  17. ('id', models.UUIDField(default=uuid_utils.compat.uuid7, editable=False, primary_key=True, serialize=False, verbose_name='主键id')),
  18. ('workspace_id', models.CharField(db_index=True, default='default', max_length=64, verbose_name='工作空间id')),
  19. ('name', models.CharField(db_index=True, max_length=128, verbose_name='触发器名称')),
  20. ('desc', models.CharField(default='', max_length=512, verbose_name='引用描述')),
  21. ('trigger_type', models.CharField(choices=[('SCHEDULED', 'Scheduled'), ('EVENT', 'Event')], default='SCHEDULED', max_length=256, verbose_name='触发器类型')),
  22. ('trigger_setting', models.JSONField(default=dict)),
  23. ('meta', models.JSONField(default=dict)),
  24. ('is_active', models.BooleanField(db_index=True, default=True)),
  25. ('user', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.SET_NULL, to='users.user')),
  26. ],
  27. options={
  28. 'db_table': 'event_trigger',
  29. },
  30. ),
  31. migrations.CreateModel(
  32. name='TriggerTask',
  33. fields=[
  34. ('create_time', models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='创建时间')),
  35. ('update_time', models.DateTimeField(auto_now=True, db_index=True, verbose_name='修改时间')),
  36. ('id', models.UUIDField(default=uuid_utils.compat.uuid7, editable=False, primary_key=True, serialize=False, verbose_name='主键id')),
  37. ('source_type', models.CharField(choices=[('APPLICATION', 'Application'), ('TOOL', 'Tool')], default='APPLICATION', max_length=256, verbose_name='触发器任务类型')),
  38. ('source_id', models.UUIDField(verbose_name='资源id')),
  39. ('is_active', models.BooleanField(db_index=True, default=True)),
  40. ('parameter', models.JSONField(default=list)),
  41. ('meta', models.JSONField(default=dict)),
  42. ('trigger', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='trigger.trigger')),
  43. ],
  44. options={
  45. 'db_table': 'event_trigger_task',
  46. 'unique_together': {('trigger', 'source_id', 'source_type')},
  47. },
  48. ),
  49. migrations.CreateModel(
  50. name='TaskRecord',
  51. fields=[
  52. ('create_time', models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='创建时间')),
  53. ('update_time', models.DateTimeField(auto_now=True, db_index=True, verbose_name='修改时间')),
  54. ('id', models.UUIDField(default=uuid_utils.compat.uuid7, editable=False, primary_key=True, serialize=False, verbose_name='主键id')),
  55. ('source_type', models.CharField(choices=[('APPLICATION', 'Application'), ('TOOL', 'Tool')], default='APPLICATION', max_length=256, verbose_name='触发器任务类型')),
  56. ('source_id', models.UUIDField(verbose_name='资源id')),
  57. ('task_record_id', models.UUIDField(verbose_name='任务记录id')),
  58. ('meta', models.JSONField(default=dict, encoder=common.encoder.encoder.SystemEncoder)),
  59. ('state', models.CharField(choices=[('PENDING', 'Pending'), ('STARTED', 'Started'), ('SUCCESS', 'Success'), ('FAILURE', 'Failure'), ('REVOKE', 'Revoke'), ('REVOKED', 'Revoked')], default='STARTED', max_length=20, verbose_name='状态')),
  60. ('run_time', models.FloatField(default=0, verbose_name='运行时长')),
  61. ('trigger', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='trigger.trigger')),
  62. ('trigger_task', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='trigger.triggertask')),
  63. ],
  64. options={
  65. 'db_table': 'event_trigger_task_record',
  66. },
  67. ),
  68. ]