feat: initialize deployment governance

This commit is contained in:
hailin
2026-07-01 14:29:24 +08:00
parent 9fc8101f96
commit 85f3fd9af4
12 changed files with 215 additions and 37 deletions

View File

@@ -6,7 +6,6 @@ from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
@@ -15,39 +14,63 @@ class Migration(migrations.Migration):
operations = [
migrations.CreateModel(
name='MenuItem',
name="MenuItem",
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('code', models.CharField(max_length=120, unique=True)),
('title', models.CharField(max_length=120)),
('path', models.CharField(blank=True, max_length=200)),
('icon', models.CharField(blank=True, max_length=80)),
('sort_order', models.PositiveIntegerField(default=0)),
('permission_code', models.CharField(blank=True, max_length=120)),
('is_visible', models.BooleanField(default=True)),
('is_enabled', models.BooleanField(default=True)),
('created_at', models.DateTimeField(auto_now_add=True)),
('updated_at', models.DateTimeField(auto_now=True)),
('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='children', to='accounts.menuitem')),
(
"id",
models.BigAutoField(
auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
),
),
("code", models.CharField(max_length=120, unique=True)),
("title", models.CharField(max_length=120)),
("path", models.CharField(blank=True, max_length=200)),
("icon", models.CharField(blank=True, max_length=80)),
("sort_order", models.PositiveIntegerField(default=0)),
("permission_code", models.CharField(blank=True, max_length=120)),
("is_visible", models.BooleanField(default=True)),
("is_enabled", models.BooleanField(default=True)),
("created_at", models.DateTimeField(auto_now_add=True)),
("updated_at", models.DateTimeField(auto_now=True)),
(
"parent",
models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name="children",
to="accounts.menuitem",
),
),
],
options={
'ordering': ['sort_order', 'id'],
"ordering": ["sort_order", "id"],
},
),
migrations.CreateModel(
name='UserGroup',
name="UserGroup",
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=120, unique=True)),
('code', models.CharField(max_length=80, unique=True)),
('description', models.TextField(blank=True)),
('is_active', models.BooleanField(default=True)),
('created_at', models.DateTimeField(auto_now_add=True)),
('updated_at', models.DateTimeField(auto_now=True)),
('users', models.ManyToManyField(blank=True, related_name='business_groups', to=settings.AUTH_USER_MODEL)),
(
"id",
models.BigAutoField(
auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
),
),
("name", models.CharField(max_length=120, unique=True)),
("code", models.CharField(max_length=80, unique=True)),
("description", models.TextField(blank=True)),
("is_active", models.BooleanField(default=True)),
("created_at", models.DateTimeField(auto_now_add=True)),
("updated_at", models.DateTimeField(auto_now=True)),
(
"users",
models.ManyToManyField(
blank=True, related_name="business_groups", to=settings.AUTH_USER_MODEL
),
),
],
options={
'ordering': ['name'],
"ordering": ["name"],
},
),
]