Перепроверка БД

This commit is contained in:
2025-06-01 22:27:24 +04:00
parent 75eba984b5
commit 3036442621
3 changed files with 391 additions and 237 deletions
@@ -33,7 +33,7 @@ namespace Pf2eModel.Migrations
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "entity_rarity", new[] { "common", "rare", "uncommon", "unique" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "entity_type", new[] { "action", "ancestry", "archetype", "background", "backpack", "campaign_feature", "class", "condition", "deity", "feat", "heritage", "language", "ritual", "rule", "spell", "subclass", "subclass_group", "trait", "unknown" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "feat_category", new[] { "ancestry", "ancestry-feature", "archetype", "bonus", "calling", "campaign-feature", "class", "class-feature", "curse", "deityboon", "general", "pfsboon", "skill", "uncategorized" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "locale_type", new[] { "english", "hobby", "legacy", "legacy_english", "other", "russian" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "locale_type", new[] { "english", "hobby", "other", "russian" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "size_enum", new[] { "huge", "large", "medium", "small", "tiny" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "source_category", new[] { "adventure-path", "adventures", "blog-posts", "comics", "lost-omens", "rulebook", "society" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "spell_area_type", new[] { "burst", "circle", "cone", "cube", "cuboid", "cylinder", "emanation", "line", "other", "square", "varies" });
@@ -398,7 +398,8 @@ namespace Pf2eModel.Migrations
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("external_id")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Идентификатор элемента в ссылке");
b.Property<string>("Md5")
.IsRequired()
@@ -615,17 +616,20 @@ namespace Pf2eModel.Migrations
b.Property<int>("AncestryId")
.HasColumnType("integer")
.HasColumnName("ancestry_id")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Идентификатор родословной");
b.Property<bool>("Boost")
.HasColumnType("boolean")
.HasColumnName("boost")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Флаг повышения/снижения");
b.Property<AttributeValues>("Value")
.HasColumnType("attribute_values")
.HasColumnName("value")
.HasColumnOrder(4);
.HasColumnOrder(4)
.HasComment("Значение атрибута");
b.HasKey("Id")
.HasName("pk_ancestry_boosts");
@@ -641,17 +645,20 @@ namespace Pf2eModel.Migrations
b.Property<int>("AncestryId")
.HasColumnType("integer")
.HasColumnName("ancestry_id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор родословной");
b.Property<int>("ItemId")
.HasColumnType("integer")
.HasColumnName("item_id")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Идентификатор связанной сущности");
b.Property<int>("Level")
.HasColumnType("integer")
.HasColumnName("level")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Уровень сущности в родословной");
b.HasKey("AncestryId", "ItemId")
.HasName("pk_ancestry_items");
@@ -667,17 +674,20 @@ namespace Pf2eModel.Migrations
b.Property<int>("AncestryId")
.HasColumnType("integer")
.HasColumnName("ancestry_id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор родословной");
b.Property<int>("LanguageId")
.HasColumnType("integer")
.HasColumnName("language_id")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Идентификатор связанного языка");
b.Property<bool>("IsAdditional")
.HasColumnType("boolean")
.HasColumnName("is_additional")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Флаг дополнительного");
b.HasKey("AncestryId", "LanguageId")
.HasName("pk_ancestry_languages");
@@ -728,11 +738,13 @@ namespace Pf2eModel.Migrations
{
b.Property<int>("ArchetypeId")
.HasColumnType("integer")
.HasColumnName("archetype_id");
.HasColumnName("archetype_id")
.HasComment("Идентификатор архетипа");
b.Property<int>("FeatId")
.HasColumnType("integer")
.HasColumnName("feat_id");
.HasColumnName("feat_id")
.HasComment("Идентификатор черты");
b.HasKey("ArchetypeId", "FeatId")
.HasName("pk_archetype_feats");
@@ -763,19 +775,22 @@ namespace Pf2eModel.Migrations
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<AttributeValues>("Attribute")
.HasColumnType("attribute_values")
.HasColumnName("attribute")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Атрибут");
b.Property<int>("BackgroundId")
.HasColumnType("integer")
.HasColumnName("background_id")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Идентификатор предыстории");
b.HasKey("Id")
.HasName("pk_background_boosts");
@@ -791,12 +806,14 @@ namespace Pf2eModel.Migrations
b.Property<int>("BackgroundId")
.HasColumnType("integer")
.HasColumnName("background_id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<int>("EntityId")
.HasColumnType("integer")
.HasColumnName("entity_id")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Идентификатор сущности");
b.Property<int?>("Level")
.HasColumnType("integer")
@@ -817,22 +834,26 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<int>("BackgroundId")
.HasColumnType("integer")
.HasColumnName("background_id")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Идентификатор предыстории");
b.Property<TrainingRank>("Rank")
.HasColumnType("training_rank")
.HasColumnName("rank")
.HasColumnOrder(4);
.HasColumnOrder(4)
.HasComment("Ранг тренировки");
b.Property<int>("TrainingId")
.HasColumnType("integer")
.HasColumnName("training_id")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Идентификатор тренируемого навыка");
b.HasKey("Id")
.HasName("pk_background_skills");
@@ -890,19 +911,22 @@ namespace Pf2eModel.Migrations
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("ClassId")
.HasColumnType("integer")
.HasColumnName("class_id")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Идентификатор класса");
b.Property<AttributeValues>("Value")
.HasColumnType("attribute_values")
.HasColumnName("value")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Атрибут");
b.HasKey("Id")
.HasName("pk_class_key_abilities");
@@ -919,29 +943,34 @@ namespace Pf2eModel.Migrations
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("ClassId")
.HasColumnType("integer")
.HasColumnName("class_id")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Идентификатор класса");
b.Property<int?>("EntityId")
.HasColumnType("integer")
.HasColumnName("entity_id")
.HasColumnOrder(5);
.HasColumnOrder(5)
.HasComment("Идентификатор сущности");
b.Property<int>("Level")
.HasColumnType("integer")
.HasColumnName("level")
.HasColumnOrder(31);
.HasColumnOrder(3)
.HasComment("Уровень класса");
b.Property<ClassProgressionType>("Type")
.HasColumnType("class_progression_type")
.HasColumnName("type")
.HasColumnOrder(4);
.HasColumnOrder(4)
.HasComment("Тип элемента прогрессии класса");
b.HasKey("Id")
.HasName("pk_class_progressions");
@@ -961,24 +990,28 @@ namespace Pf2eModel.Migrations
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("ClassId")
.HasColumnType("integer")
.HasColumnName("class_id")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Идентификатор класса");
b.Property<TrainingRank>("Rank")
.HasColumnType("training_rank")
.HasColumnName("rank")
.HasColumnOrder(4);
.HasColumnOrder(4)
.HasComment("Ранг тренировки");
b.Property<int?>("TrainingId")
.HasColumnType("integer")
.HasColumnName("training_id")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Идентификатор тренируемого навыка");
b.HasKey("Id")
.HasName("pk_class_trainings");
@@ -1017,24 +1050,28 @@ namespace Pf2eModel.Migrations
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор связи");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<TrainingRank>("Rank")
.HasColumnType("training_rank")
.HasColumnName("rank")
.HasColumnOrder(4);
.HasColumnOrder(4)
.HasComment("Ранг тренировки");
b.Property<int>("SubclassId")
.HasColumnType("integer")
.HasColumnName("subclass_id")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Идентификатор подкласса");
b.Property<int>("TrainingId")
.HasColumnType("integer")
.HasColumnName("training_id")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Идентификатор тренировки");
b.HasKey("Id")
.HasName("pk_subclass_trainings");
@@ -1117,12 +1154,14 @@ namespace Pf2eModel.Migrations
b.Property<int>("DeityId")
.HasColumnType("integer")
.HasColumnName("deity_id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор божества");
b.Property<AttributeValues>("Attribute")
.HasColumnType("attribute_values")
.HasColumnName("attribute")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Атрибут божества");
b.HasKey("DeityId", "Attribute")
.HasName("pk_deity_attributes");
@@ -1136,19 +1175,22 @@ namespace Pf2eModel.Migrations
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("DeityId")
.HasColumnType("integer")
.HasColumnName("deity_id")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Идентификатор божества");
b.Property<bool>("IsPrimary")
.HasColumnType("boolean")
.HasColumnName("is_primary")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Флаг основного домена");
b.Property<string>("Value")
.IsRequired()
@@ -1172,24 +1214,28 @@ namespace Pf2eModel.Migrations
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("DeityId")
.HasColumnType("integer")
.HasColumnName("deity_id")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Идентификатор божества");
b.Property<int>("Level")
.HasColumnType("integer")
.HasColumnName("level")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Уровень заклинания");
b.Property<int>("SpellId")
.HasColumnType("integer")
.HasColumnName("spell_id")
.HasColumnOrder(4);
.HasColumnOrder(4)
.HasComment("Идентификатор заклинания");
b.HasKey("Id")
.HasName("pk_deity_spells");
@@ -1209,21 +1255,24 @@ namespace Pf2eModel.Migrations
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("DeityId")
.HasColumnType("integer")
.HasColumnName("deity_id")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Идентификатор божества");
b.Property<string>("Weapon")
.IsRequired()
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("weapon")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Название оружия");
b.HasKey("Id")
.HasName("pk_deity_weapons");
@@ -1278,21 +1327,24 @@ namespace Pf2eModel.Migrations
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("FeatId")
.HasColumnType("integer")
.HasColumnName("feat_id")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Идентификатор черты");
b.Property<string>("Value")
.IsRequired()
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("value")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Предварительное требование");
b.HasKey("Id")
.HasName("pk_feat_prerequisites");
@@ -1451,18 +1503,21 @@ namespace Pf2eModel.Migrations
b.Property<int>("RitualId")
.HasColumnType("integer")
.HasColumnName("ritual_id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор ритуала");
b.Property<string>("Details")
.HasMaxLength(255)
.HasColumnType("jsonb")
.HasColumnName("details")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Описание области действия ритуала");
b.Property<SpellAreaType>("Type")
.HasColumnType("spell_area_type")
.HasColumnName("type")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Тип области действия ритуала");
b.HasKey("RitualId")
.HasName("pk_ritual_areas");
@@ -1476,34 +1531,40 @@ namespace Pf2eModel.Migrations
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<bool>("IsPrimary")
.HasColumnType("boolean")
.HasColumnName("is_primary")
.HasColumnOrder(6);
.HasColumnOrder(6)
.HasComment("Флаг основной проверки");
b.Property<TrainingRank>("Rank")
.HasColumnType("training_rank")
.HasColumnName("rank")
.HasColumnOrder(5);
.HasColumnOrder(5)
.HasComment("Ранг тренировки");
b.Property<int>("RitualId")
.HasColumnType("integer")
.HasColumnName("ritual_id")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Идентификатор ритуала");
b.Property<int?>("TrainingId")
.HasColumnType("integer")
.HasColumnName("training_id")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Идентификатор тренировки");
b.Property<string>("TrainingString")
.HasColumnType("jsonb")
.HasColumnName("training_string")
.HasColumnOrder(4);
.HasColumnOrder(4)
.HasComment("Дополнение к проверке");
b.HasKey("Id")
.HasName("pk_ritual_checks");
@@ -1639,7 +1700,8 @@ namespace Pf2eModel.Migrations
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
@@ -1647,17 +1709,20 @@ namespace Pf2eModel.Migrations
.HasMaxLength(255)
.HasColumnType("jsonb")
.HasColumnName("details")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Описание области заклинания");
b.Property<int>("SpellId")
.HasColumnType("integer")
.HasColumnName("spell_id")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Идентификатор заклинания");
b.Property<SpellAreaType>("Type")
.HasColumnType("spell_area_type")
.HasColumnName("type")
.HasColumnOrder(4);
.HasColumnOrder(4)
.HasComment("Тип области заклинания");
b.HasKey("Id")
.HasName("pk_spell_areas");
@@ -1674,56 +1739,65 @@ namespace Pf2eModel.Migrations
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор урона заклинания");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<bool?>("ApplyMod")
.HasColumnType("boolean")
.HasColumnName("apply_mod")
.HasColumnOrder(4);
.HasColumnOrder(4)
.HasComment("Применяется модификатор?");
b.Property<SpellDamageCategory?>("Category")
.HasColumnType("spell_damage_category")
.HasColumnName("category")
.HasColumnOrder(5);
.HasColumnOrder(5)
.HasComment("Категория урона заклинания");
b.Property<string>("Formula")
.IsRequired()
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("formula")
.HasColumnOrder(6);
.HasColumnOrder(6)
.HasComment("Формула урона заклинания");
b.Property<string>("Key")
.IsRequired()
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("key")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Уровень заклинания");
b.Property<SpellDamageKinds>("Kinds")
.HasColumnType("spell_damage_kinds")
.HasColumnName("kinds")
.HasColumnOrder(7);
.HasColumnOrder(7)
.HasComment("Тип урона заклинания");
b.Property<string>("Materials")
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("materials")
.HasColumnOrder(8);
.HasColumnOrder(8)
.HasComment("Материалы для заклинания");
b.Property<int>("SpellId")
.HasColumnType("integer")
.HasColumnName("spell_id")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Идентификатор заклинания");
b.Property<string>("Type")
.IsRequired()
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("type")
.HasColumnOrder(9);
.HasColumnOrder(9)
.HasComment("Тип урона заклинания");
b.HasKey("Id")
.HasName("pk_spell_damages");
@@ -1740,14 +1814,16 @@ namespace Pf2eModel.Migrations
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<bool?>("IsBasic")
.HasColumnType("boolean")
.HasColumnName("is_basic")
.HasColumnOrder(4);
.HasColumnOrder(4)
.HasComment("Базовый спасборосок?");
b.Property<bool>("IsPassive")
.HasColumnType("boolean")
@@ -1757,7 +1833,8 @@ namespace Pf2eModel.Migrations
b.Property<int>("SpellId")
.HasColumnType("integer")
.HasColumnName("spell_id")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Идентификатор заклинания");
b.Property<string>("Statistic")
.IsRequired()