297 lines
10 KiB
Python
297 lines
10 KiB
Python
# Generated by Django 4.2.27 on 2026-04-06 23:31
|
||
|
||
from django.db import migrations, models
|
||
import django.db.models.deletion
|
||
|
||
|
||
class Migration(migrations.Migration):
|
||
|
||
initial = True
|
||
|
||
dependencies = []
|
||
|
||
operations = [
|
||
migrations.CreateModel(
|
||
name="AbnormalUserLog",
|
||
fields=[
|
||
(
|
||
"id",
|
||
models.BigAutoField(
|
||
auto_created=True,
|
||
primary_key=True,
|
||
serialize=False,
|
||
verbose_name="ID",
|
||
),
|
||
),
|
||
(
|
||
"account_id",
|
||
models.CharField(
|
||
db_index=True, max_length=20, verbose_name="账号ID(phone)"
|
||
),
|
||
),
|
||
(
|
||
"ip_address",
|
||
models.GenericIPAddressField(
|
||
blank=True, null=True, verbose_name="IP地址"
|
||
),
|
||
),
|
||
(
|
||
"real_ip",
|
||
models.GenericIPAddressField(
|
||
blank=True, null=True, verbose_name="真实IP(穿透代理后)"
|
||
),
|
||
),
|
||
(
|
||
"x_forwarded_for",
|
||
models.CharField(
|
||
blank=True,
|
||
default="",
|
||
max_length=255,
|
||
verbose_name="X-Forwarded-For",
|
||
),
|
||
),
|
||
(
|
||
"user_agent",
|
||
models.CharField(
|
||
blank=True,
|
||
default="",
|
||
max_length=500,
|
||
verbose_name="User-Agent",
|
||
),
|
||
),
|
||
(
|
||
"request_method",
|
||
models.CharField(
|
||
blank=True, default="", max_length=10, verbose_name="请求方法"
|
||
),
|
||
),
|
||
(
|
||
"request_path",
|
||
models.CharField(
|
||
blank=True, default="", max_length=500, verbose_name="请求路径"
|
||
),
|
||
),
|
||
(
|
||
"request_params",
|
||
models.TextField(
|
||
blank=True, default="", verbose_name="请求参数(GET/POST)"
|
||
),
|
||
),
|
||
(
|
||
"request_body",
|
||
models.TextField(
|
||
blank=True, default="", verbose_name="请求体(原始)"
|
||
),
|
||
),
|
||
(
|
||
"request_headers",
|
||
models.TextField(
|
||
blank=True, default="", verbose_name="请求头(JSON格式)"
|
||
),
|
||
),
|
||
(
|
||
"attempt_type",
|
||
models.CharField(
|
||
blank=True, default="", max_length=50, verbose_name="攻击类型"
|
||
),
|
||
),
|
||
(
|
||
"detail",
|
||
models.TextField(blank=True, default="", verbose_name="详细描述"),
|
||
),
|
||
(
|
||
"create_time",
|
||
models.DateTimeField(auto_now_add=True, verbose_name="创建时间"),
|
||
),
|
||
],
|
||
options={
|
||
"verbose_name": "异常用户日志",
|
||
"verbose_name_plural": "异常用户日志",
|
||
"db_table": "abnormal_user_log",
|
||
},
|
||
),
|
||
migrations.CreateModel(
|
||
name="Permission",
|
||
fields=[
|
||
(
|
||
"perm_id",
|
||
models.AutoField(
|
||
primary_key=True, serialize=False, verbose_name="权限ID"
|
||
),
|
||
),
|
||
(
|
||
"perm_code",
|
||
models.CharField(
|
||
db_index=True,
|
||
max_length=100,
|
||
unique=True,
|
||
verbose_name="权限编码",
|
||
),
|
||
),
|
||
(
|
||
"perm_name",
|
||
models.CharField(max_length=100, verbose_name="权限名称"),
|
||
),
|
||
(
|
||
"description",
|
||
models.CharField(
|
||
blank=True, default="", max_length=200, verbose_name="权限描述"
|
||
),
|
||
),
|
||
(
|
||
"create_time",
|
||
models.DateTimeField(auto_now_add=True, verbose_name="创建时间"),
|
||
),
|
||
(
|
||
"update_time",
|
||
models.DateTimeField(auto_now=True, verbose_name="更新时间"),
|
||
),
|
||
],
|
||
options={
|
||
"verbose_name": "权限",
|
||
"verbose_name_plural": "权限",
|
||
"db_table": "permission",
|
||
},
|
||
),
|
||
migrations.CreateModel(
|
||
name="Role",
|
||
fields=[
|
||
(
|
||
"role_id",
|
||
models.AutoField(
|
||
primary_key=True, serialize=False, verbose_name="角色ID"
|
||
),
|
||
),
|
||
(
|
||
"role_code",
|
||
models.CharField(
|
||
db_index=True,
|
||
max_length=50,
|
||
unique=True,
|
||
verbose_name="角色编码",
|
||
),
|
||
),
|
||
("role_name", models.CharField(max_length=50, verbose_name="角色名称")),
|
||
(
|
||
"description",
|
||
models.CharField(
|
||
blank=True, default="", max_length=200, verbose_name="角色描述"
|
||
),
|
||
),
|
||
(
|
||
"create_time",
|
||
models.DateTimeField(auto_now_add=True, verbose_name="创建时间"),
|
||
),
|
||
(
|
||
"update_time",
|
||
models.DateTimeField(auto_now=True, verbose_name="更新时间"),
|
||
),
|
||
],
|
||
options={
|
||
"verbose_name": "角色",
|
||
"verbose_name_plural": "角色",
|
||
"db_table": "role",
|
||
},
|
||
),
|
||
migrations.CreateModel(
|
||
name="UserRole",
|
||
fields=[
|
||
("id", models.AutoField(primary_key=True, serialize=False)),
|
||
(
|
||
"account_id",
|
||
models.CharField(
|
||
db_index=True, max_length=11, verbose_name="账号ID"
|
||
),
|
||
),
|
||
(
|
||
"create_time",
|
||
models.DateTimeField(auto_now_add=True, verbose_name="创建时间"),
|
||
),
|
||
(
|
||
"update_time",
|
||
models.DateTimeField(auto_now=True, verbose_name="更新时间"),
|
||
),
|
||
(
|
||
"role",
|
||
models.ForeignKey(
|
||
on_delete=django.db.models.deletion.CASCADE,
|
||
to="houtai.role",
|
||
verbose_name="角色",
|
||
),
|
||
),
|
||
],
|
||
options={
|
||
"verbose_name": "用户角色关联",
|
||
"verbose_name_plural": "用户角色关联",
|
||
"db_table": "user_role",
|
||
},
|
||
),
|
||
migrations.CreateModel(
|
||
name="RolePermission",
|
||
fields=[
|
||
("id", models.AutoField(primary_key=True, serialize=False)),
|
||
(
|
||
"create_time",
|
||
models.DateTimeField(auto_now_add=True, verbose_name="创建时间"),
|
||
),
|
||
(
|
||
"permission",
|
||
models.ForeignKey(
|
||
on_delete=django.db.models.deletion.CASCADE,
|
||
to="houtai.permission",
|
||
verbose_name="权限",
|
||
),
|
||
),
|
||
(
|
||
"role",
|
||
models.ForeignKey(
|
||
on_delete=django.db.models.deletion.CASCADE,
|
||
to="houtai.role",
|
||
verbose_name="角色",
|
||
),
|
||
),
|
||
],
|
||
options={
|
||
"verbose_name": "角色权限关联",
|
||
"verbose_name_plural": "角色权限关联",
|
||
"db_table": "role_permission",
|
||
},
|
||
),
|
||
migrations.AddIndex(
|
||
model_name="role",
|
||
index=models.Index(fields=["role_code"], name="role_role_co_b9f497_idx"),
|
||
),
|
||
migrations.AddIndex(
|
||
model_name="permission",
|
||
index=models.Index(
|
||
fields=["perm_code"], name="permission_perm_co_56cbe3_idx"
|
||
),
|
||
),
|
||
migrations.AddIndex(
|
||
model_name="abnormaluserlog",
|
||
index=models.Index(
|
||
fields=["account_id"], name="abnormal_us_account_425899_idx"
|
||
),
|
||
),
|
||
migrations.AddIndex(
|
||
model_name="abnormaluserlog",
|
||
index=models.Index(
|
||
fields=["ip_address"], name="abnormal_us_ip_addr_3d612b_idx"
|
||
),
|
||
),
|
||
migrations.AddIndex(
|
||
model_name="abnormaluserlog",
|
||
index=models.Index(
|
||
fields=["create_time"], name="abnormal_us_create__ee16da_idx"
|
||
),
|
||
),
|
||
migrations.AlterUniqueTogether(
|
||
name="userrole",
|
||
unique_together={("account_id", "role")},
|
||
),
|
||
migrations.AlterUniqueTogether(
|
||
name="rolepermission",
|
||
unique_together={("role", "permission")},
|
||
),
|
||
]
|