feat: migrate snowflake ids and refresh migrations

This commit is contained in:
2025-12-02 09:04:37 +08:00
parent 462e15abbb
commit 148475fa43
174 changed files with 8020 additions and 34278 deletions

View File

@@ -0,0 +1,29 @@
using System.Collections.Generic;
namespace TakeoutSaaS.Infrastructure.App.Options;
/// <summary>
/// 业务数据种子配置。
/// </summary>
public sealed class AppSeedOptions
{
/// <summary>
/// 配置节名称。
/// </summary>
public const string SectionName = "App:Seed";
/// <summary>
/// 是否启用业务数据种子。
/// </summary>
public bool Enabled { get; set; }
/// <summary>
/// 默认租户配置。
/// </summary>
public TenantSeedOptions? DefaultTenant { get; set; }
/// <summary>
/// 基础字典分组。
/// </summary>
public List<DictionarySeedGroupOptions> DictionaryGroups { get; set; } = new();
}

View File

@@ -0,0 +1,51 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using TakeoutSaaS.Domain.Dictionary.Enums;
namespace TakeoutSaaS.Infrastructure.App.Options;
/// <summary>
/// 字典分组种子配置。
/// </summary>
public sealed class DictionarySeedGroupOptions
{
/// <summary>
/// 所属租户,不填则使用默认租户或系统租户。
/// </summary>
public long? TenantId { get; set; }
/// <summary>
/// 分组编码。
/// </summary>
[Required]
[MaxLength(64)]
public string Code { get; set; } = string.Empty;
/// <summary>
/// 分组名称。
/// </summary>
[Required]
[MaxLength(128)]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 分组作用域。
/// </summary>
public DictionaryScope Scope { get; set; } = DictionaryScope.Business;
/// <summary>
/// 描述信息。
/// </summary>
[MaxLength(512)]
public string? Description { get; set; }
/// <summary>
/// 是否启用。
/// </summary>
public bool IsEnabled { get; set; } = true;
/// <summary>
/// 字典项集合。
/// </summary>
public List<DictionarySeedItemOptions> Items { get; set; } = new();
}

View File

@@ -0,0 +1,39 @@
using System.ComponentModel.DataAnnotations;
namespace TakeoutSaaS.Infrastructure.App.Options;
/// <summary>
/// 字典项种子配置。
/// </summary>
public sealed class DictionarySeedItemOptions
{
/// <summary>
/// 字典项键。
/// </summary>
[Required]
[MaxLength(64)]
public string Key { get; set; } = string.Empty;
/// <summary>
/// 字典项值。
/// </summary>
[Required]
[MaxLength(256)]
public string Value { get; set; } = string.Empty;
/// <summary>
/// 描述。
/// </summary>
[MaxLength(512)]
public string? Description { get; set; }
/// <summary>
/// 排序。
/// </summary>
public int SortOrder { get; set; } = 100;
/// <summary>
/// 是否启用。
/// </summary>
public bool IsEnabled { get; set; } = true;
}

View File

@@ -0,0 +1,46 @@
using System.ComponentModel.DataAnnotations;
namespace TakeoutSaaS.Infrastructure.App.Options;
/// <summary>
/// 默认租户种子配置。
/// </summary>
public sealed class TenantSeedOptions
{
/// <summary>
/// 自定义租户标识,不填则自动生成。
/// </summary>
public long TenantId { get; set; }
/// <summary>
/// 租户编码。
/// </summary>
[Required]
[MaxLength(64)]
public string Code { get; set; } = string.Empty;
/// <summary>
/// 租户名称。
/// </summary>
[Required]
[MaxLength(128)]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 租户简称。
/// </summary>
[MaxLength(128)]
public string? ShortName { get; set; }
/// <summary>
/// 联系人姓名。
/// </summary>
[MaxLength(64)]
public string? ContactName { get; set; }
/// <summary>
/// 联系电话。
/// </summary>
[MaxLength(32)]
public string? ContactPhone { get; set; }
}