# Generated by Django 4.2.4 on 2025-05-06 14:05

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='PromptPlaceholder',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=100, unique=True, verbose_name='占位符名称')),
                ('description', models.TextField(verbose_name='描述')),
                ('example_value', models.TextField(blank=True, verbose_name='示例值')),
                ('divination_type', models.CharField(choices=[('bazi', '八字'), ('number', '数字能量'), ('liuyao', '六爻')], max_length=10, verbose_name='占卜类型')),
            ],
            options={
                'verbose_name': '提示占位符',
                'verbose_name_plural': '提示占位符',
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='PromptTemplate',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=100, verbose_name='模板名称')),
                ('description', models.TextField(blank=True, verbose_name='描述')),
                ('content', models.TextField(verbose_name='内容')),
                ('divination_type', models.CharField(choices=[('bazi', '八字'), ('number', '数字能量'), ('liuyao', '六爻')], max_length=10, verbose_name='占卜类型')),
                ('filename', models.CharField(help_text='如果保存为文件，使用的文件名', max_length=100, verbose_name='文件名')),
                ('version', models.CharField(help_text='版本号，如 1.0, 2.3 等', max_length=20, verbose_name='版本')),
                ('status', models.CharField(choices=[('draft', '草稿'), ('active', '活跃'), ('archived', '已归档')], default='draft', max_length=10, verbose_name='状态')),
                ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
                ('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
                ('created_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='created_templates', to=settings.AUTH_USER_MODEL, verbose_name='创建者')),
                ('modified_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='modified_templates', to=settings.AUTH_USER_MODEL, verbose_name='最后修改者')),
                ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='children', to='ai.prompttemplate', verbose_name='父模板')),
            ],
            options={
                'verbose_name': '提示模板',
                'verbose_name_plural': '提示模板',
                'ordering': ['-updated_at'],
                'unique_together': {('divination_type', 'filename', 'version')},
            },
        ),
    ]
