mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-09-22 20:09:54 +00:00
perf: 合并 migrations (#13187)
* perf: 修改 Migrations * perf: 合并 migrations * perf: remove unuse * perf: change to file --------- Co-authored-by: ibuler <ibuler@qq.com>
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
# Generated by Django 2.2.5 on 2019-11-15 06:57
|
||||
# Generated by Django 4.1.13 on 2024-05-09 03:16
|
||||
|
||||
import common.db.fields
|
||||
from django.conf import settings
|
||||
import common.db.encoder
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import tickets.models.ticket.general
|
||||
import uuid
|
||||
|
||||
|
||||
@@ -12,48 +12,182 @@ class Migration(migrations.Migration):
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('terminal', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Ticket',
|
||||
name='ApprovalRule',
|
||||
fields=[
|
||||
('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)),
|
||||
('created_by', models.CharField(blank=True, max_length=32, null=True, verbose_name='Created by')),
|
||||
('created_by', models.CharField(blank=True, max_length=128, null=True, verbose_name='Created by')),
|
||||
('updated_by', models.CharField(blank=True, max_length=128, null=True, verbose_name='Updated by')),
|
||||
('date_created', models.DateTimeField(auto_now_add=True, null=True, verbose_name='Date created')),
|
||||
('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date updated')),
|
||||
('user_display', models.CharField(max_length=128, verbose_name='User display name')),
|
||||
('title', models.CharField(max_length=256, verbose_name='Title')),
|
||||
('body', models.TextField(verbose_name='Body')),
|
||||
('meta', common.db.fields.JsonDictTextField(default='{}', verbose_name='Meta')),
|
||||
('assignee_display', models.CharField(blank=True, max_length=128, null=True, verbose_name='Assignee display name')),
|
||||
('assignees_display', models.CharField(blank=True, max_length=128, verbose_name='Assignees display name')),
|
||||
('type', models.CharField(choices=[('general', 'General'), ('login_confirm', 'Login confirm')], default='general', max_length=16, verbose_name='Type')),
|
||||
('status', models.CharField(choices=[('open', 'Open'), ('closed', 'Closed')], default='open', max_length=16)),
|
||||
('action', models.CharField(blank=True, choices=[('approve', 'Approve'), ('reject', 'Reject')], default='', max_length=16)),
|
||||
('assignee', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='ticket_handled', to=settings.AUTH_USER_MODEL, verbose_name='Assignee')),
|
||||
('assignees', models.ManyToManyField(related_name='ticket_assigned', to=settings.AUTH_USER_MODEL, verbose_name='Assignees')),
|
||||
('user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='ticket_requested', to=settings.AUTH_USER_MODEL, verbose_name='User')),
|
||||
('comment', models.TextField(blank=True, default='', verbose_name='Comment')),
|
||||
('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)),
|
||||
('level', models.SmallIntegerField(choices=[(1, 'One level'), (2, 'Two level')], default=1, verbose_name='Approve level')),
|
||||
('strategy', models.CharField(choices=[('org_admin', 'Org admin'), ('custom_user', 'Custom user'), ('super_admin', 'Super admin'), ('super_org_admin', 'Super admin and org admin')], default='super_admin', max_length=64, verbose_name='Approve strategy')),
|
||||
],
|
||||
options={
|
||||
'ordering': ('-date_created',),
|
||||
'verbose_name': 'Ticket flow approval rule',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Comment',
|
||||
fields=[
|
||||
('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)),
|
||||
('created_by', models.CharField(blank=True, max_length=32, null=True, verbose_name='Created by')),
|
||||
('created_by', models.CharField(blank=True, max_length=128, null=True, verbose_name='Created by')),
|
||||
('updated_by', models.CharField(blank=True, max_length=128, null=True, verbose_name='Updated by')),
|
||||
('date_created', models.DateTimeField(auto_now_add=True, null=True, verbose_name='Date created')),
|
||||
('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date updated')),
|
||||
('user_display', models.CharField(max_length=128, verbose_name='User display name')),
|
||||
('comment', models.TextField(blank=True, default='', verbose_name='Comment')),
|
||||
('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)),
|
||||
('user_display', models.CharField(max_length=256, verbose_name='User display name')),
|
||||
('body', models.TextField(verbose_name='Body')),
|
||||
('ticket', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='comments', to='tickets.Ticket')),
|
||||
('user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='comments', to=settings.AUTH_USER_MODEL, verbose_name='User')),
|
||||
('type', models.CharField(choices=[('state', 'State'), ('common', 'common')], default='common', max_length=16, verbose_name='Type')),
|
||||
('state', models.CharField(max_length=16, null=True)),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Comment',
|
||||
'ordering': ('date_created',),
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Ticket',
|
||||
fields=[
|
||||
('created_by', models.CharField(blank=True, max_length=128, null=True, verbose_name='Created by')),
|
||||
('updated_by', models.CharField(blank=True, max_length=128, null=True, verbose_name='Updated by')),
|
||||
('date_created', models.DateTimeField(auto_now_add=True, null=True, verbose_name='Date created')),
|
||||
('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date updated')),
|
||||
('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)),
|
||||
('title', models.CharField(max_length=256, verbose_name='Title')),
|
||||
('type', models.CharField(choices=[('general', 'General'), ('apply_asset', 'Apply for asset'), ('login_confirm', 'Login confirm'), ('command_confirm', 'Command confirm'), ('login_asset_confirm', 'Login asset confirm')], default='general', max_length=64, verbose_name='Type')),
|
||||
('state', models.CharField(choices=[('pending', 'Open'), ('closed', 'Cancel'), ('approved', 'Approved'), ('rejected', 'Rejected')], default='pending', max_length=16, verbose_name='State')),
|
||||
('status', models.CharField(choices=[('open', 'Open'), ('closed', 'Finished')], default='open', max_length=16, verbose_name='Status')),
|
||||
('approval_step', models.SmallIntegerField(choices=[(1, 'One level'), (2, 'Two level')], default=1, verbose_name='Approval step')),
|
||||
('comment', models.TextField(blank=True, default='', verbose_name='Comment')),
|
||||
('rel_snapshot', models.JSONField(default=dict, verbose_name='Relation snapshot')),
|
||||
('serial_num', models.CharField(max_length=128, null=True, verbose_name='Serial number')),
|
||||
('meta', models.JSONField(default=dict, encoder=common.db.encoder.ModelJSONFieldEncoder, verbose_name='Meta')),
|
||||
('org_id', models.CharField(blank=True, db_index=True, default='', max_length=36, verbose_name='Organization')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Ticket',
|
||||
'ordering': ('-date_created',),
|
||||
},
|
||||
bases=(tickets.models.ticket.general.StatusMixin, models.Model),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='TicketAssignee',
|
||||
fields=[
|
||||
('created_by', models.CharField(blank=True, max_length=128, null=True, verbose_name='Created by')),
|
||||
('updated_by', models.CharField(blank=True, max_length=128, null=True, verbose_name='Updated by')),
|
||||
('date_created', models.DateTimeField(auto_now_add=True, null=True, verbose_name='Date created')),
|
||||
('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date updated')),
|
||||
('comment', models.TextField(blank=True, default='', verbose_name='Comment')),
|
||||
('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)),
|
||||
('state', models.CharField(choices=[('pending', 'Open'), ('closed', 'Cancel'), ('approved', 'Approved'), ('rejected', 'Rejected')], default='pending', max_length=64)),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Ticket assignee',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='ApplyAssetTicket',
|
||||
fields=[
|
||||
('ticket_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='tickets.ticket')),
|
||||
('apply_permission_name', models.CharField(max_length=128, verbose_name='Permission name')),
|
||||
('apply_accounts', models.JSONField(default=list, verbose_name='Apply accounts')),
|
||||
('apply_actions', models.IntegerField(default=1, verbose_name='Actions')),
|
||||
('apply_date_start', models.DateTimeField(null=True, verbose_name='Date start')),
|
||||
('apply_date_expired', models.DateTimeField(null=True, verbose_name='Date expired')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Apply Asset Ticket',
|
||||
},
|
||||
bases=('tickets.ticket',),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='ApplyCommandTicket',
|
||||
fields=[
|
||||
('ticket_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='tickets.ticket')),
|
||||
('apply_run_asset', models.CharField(max_length=128, verbose_name='Run asset')),
|
||||
('apply_run_command', models.CharField(max_length=4096, verbose_name='Run command')),
|
||||
('apply_run_account', models.CharField(default='', max_length=128, verbose_name='Account')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Apply Command Ticket',
|
||||
},
|
||||
bases=('tickets.ticket',),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='ApplyLoginAssetTicket',
|
||||
fields=[
|
||||
('ticket_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='tickets.ticket')),
|
||||
('apply_login_account', models.CharField(default='', max_length=128, verbose_name='Login account')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Apply Login Asset Ticket',
|
||||
},
|
||||
bases=('tickets.ticket',),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='ApplyLoginTicket',
|
||||
fields=[
|
||||
('ticket_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='tickets.ticket')),
|
||||
('apply_login_ip', models.GenericIPAddressField(null=True, verbose_name='Login IP')),
|
||||
('apply_login_city', models.CharField(max_length=64, null=True, verbose_name='Login city')),
|
||||
('apply_login_datetime', models.DateTimeField(null=True, verbose_name='Login Date')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Apply Login Ticket',
|
||||
},
|
||||
bases=('tickets.ticket',),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='TicketStep',
|
||||
fields=[
|
||||
('created_by', models.CharField(blank=True, max_length=128, null=True, verbose_name='Created by')),
|
||||
('updated_by', models.CharField(blank=True, max_length=128, null=True, verbose_name='Updated by')),
|
||||
('date_created', models.DateTimeField(auto_now_add=True, null=True, verbose_name='Date created')),
|
||||
('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date updated')),
|
||||
('comment', models.TextField(blank=True, default='', verbose_name='Comment')),
|
||||
('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)),
|
||||
('level', models.SmallIntegerField(choices=[(1, 'One level'), (2, 'Two level')], default=1, verbose_name='Approve level')),
|
||||
('state', models.CharField(choices=[('pending', 'Pending'), ('closed', 'Closed'), ('approved', 'Approved'), ('rejected', 'Rejected')], default='pending', max_length=64, verbose_name='State')),
|
||||
('status', models.CharField(choices=[('active', 'Active'), ('closed', 'Closed'), ('pending', 'Pending')], default='pending', max_length=16)),
|
||||
('ticket', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='ticket_steps', to='tickets.ticket', verbose_name='Ticket')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Ticket step',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='TicketSession',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('session', models.ForeignKey(db_constraint=False, on_delete=django.db.models.deletion.CASCADE, related_name='ticket_relation', to='terminal.session')),
|
||||
('ticket', models.ForeignKey(db_constraint=False, on_delete=django.db.models.deletion.CASCADE, related_name='session_relation', to='tickets.ticket')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Ticket session relation',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='TicketFlow',
|
||||
fields=[
|
||||
('created_by', models.CharField(blank=True, max_length=128, null=True, verbose_name='Created by')),
|
||||
('updated_by', models.CharField(blank=True, max_length=128, null=True, verbose_name='Updated by')),
|
||||
('date_created', models.DateTimeField(auto_now_add=True, null=True, verbose_name='Date created')),
|
||||
('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date updated')),
|
||||
('comment', models.TextField(blank=True, default='', verbose_name='Comment')),
|
||||
('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)),
|
||||
('org_id', models.CharField(blank=True, db_index=True, default='', max_length=36, verbose_name='Organization')),
|
||||
('type', models.CharField(choices=[('general', 'General'), ('apply_asset', 'Apply for asset'), ('login_confirm', 'Login confirm'), ('command_confirm', 'Command confirm'), ('login_asset_confirm', 'Login asset confirm')], default='general', max_length=64, verbose_name='Type')),
|
||||
('approval_level', models.SmallIntegerField(choices=[(1, 'One level'), (2, 'Two level')], default=1, verbose_name='Approve level')),
|
||||
('rules', models.ManyToManyField(related_name='ticket_flows', to='tickets.approvalrule')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Ticket flow',
|
||||
},
|
||||
),
|
||||
]
|
||||
|
Reference in New Issue
Block a user