Документирование и небольшой рефакторинг модели.

This commit is contained in:
2025-05-11 00:31:15 +04:00
parent 1a977ee988
commit 3c65274b45
64 changed files with 1960 additions and 554 deletions
@@ -13,7 +13,7 @@ using Pf2eModel.Model.Enum;
namespace Pf2eModel.Migrations
{
[DbContext(typeof(Pf2eDbContext))]
[Migration("20250508101742_1")]
[Migration("20250510202833_1")]
partial class _1
{
/// <inheritdoc />
@@ -24,28 +24,28 @@ namespace Pf2eModel.Migrations
.HasAnnotation("ProductVersion", "9.0.4")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "action_category", new[] { "unknown", "archetype", "class-feature", "class-feat", "offensive", "defensive", "interaction", "familiar", "army_tactic", "army_war_action", "kingdom_activity", "kingdom_feat", "kingdom_feature" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "action_enum", new[] { "unknown", "1", "2", "3", "reaction", "free", "passive", "other", "1-3", "1-2", "2-3", "2/2 rounds", "reaction/1", "reaction/2", "reaction/3", "free/1", "1 minute", "5 minutes", "10 minutes", "30 minutes", "1 hour" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "ancestry_vision", new[] { "normal", "low-light-vision", "dark-vision" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "attribute_values", new[] { "free", "str", "dex", "con", "int", "wis", "cha" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "class_progression_type", new[] { "entity", "ancestry_feat", "class_feat", "general_feat", "skill_feat", "skill_increase" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "condition_group", new[] { "unknown", "senses", "abilities", "death", "attitudes", "detection" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "deity_category", new[] { "deity", "pantheon", "covenant", "philosophy" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "deity_fonts", new[] { "none", "heal", "harm", "any" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "deity_sanctification", new[] { "holy", "unholy", "any" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "entity_rarity", new[] { "common", "uncommon", "rare", "unique" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "entity_type", new[] { "unknown", "trait", "action", "ancestry", "archetype", "background", "backpack", "campaign_feature", "class", "subclass_group", "subclass", "condition", "deity", "feat", "heritage", "spell", "ritual", "language", "rule" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "feat_action_type", new[] { "passive", "action", "reaction", "free" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "feat_category", new[] { "uncategorized", "ancestry-feature", "class-feature", "calling", "class", "skill", "general", "ancestry", "bonus", "deityboon", "curse", "pfsboon", "campaign-feature" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "locale_type", new[] { "english", "legacy_english", "russian", "legacy", "hobby", "other" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "size", new[] { "tiny", "small", "medium", "large" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "source_category", new[] { "rulebook", "adventure-path", "lost-omens", "adventures", "comics", "blog-posts", "society" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "spell_area_type", new[] { "burst", "emanation", "cone", "line", "square", "cube", "cylinder", "varies", "cuboid", "circle", "other" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "spell_damage_category", new[] { "persistent", "splash" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "spell_damage_kinds", new[] { "damage", "healing", "any" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "spell_tradition", new[] { "none", "divine", "occult", "arcane", "primal", "elemental", "all" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "training_rank", new[] { "untrained", "trained", "expert", "master", "legendary", "mythic" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "trait_type", new[] { "regular", "class", "tradition" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "action_category", new[] { "archetype", "army_tactic", "army_war_action", "class-feat", "class-feature", "defensive", "familiar", "interaction", "kingdom_activity", "kingdom_feat", "kingdom_feature", "offensive", "unknown" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "action_enum", new[] { "1", "1 hour", "1 minute", "1-2", "1-3", "10 minutes", "2", "2-3", "2/2 rounds", "3", "30 minutes", "5 minutes", "free", "free/1", "other", "passive", "reaction", "reaction/1", "reaction/2", "reaction/3", "unknown" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "attribute_values", new[] { "cha", "con", "dex", "free", "int", "str", "wis" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "class_progression_type", new[] { "ancestry_feat", "attribute_increase", "class_feat", "entity", "general_feat", "skill_feat", "skill_increase" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "condition_group", new[] { "abilities", "attitudes", "death", "detection", "senses", "unknown" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "deity_category", new[] { "covenant", "deity", "pantheon", "philosophy" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "deity_fonts", new[] { "any", "harm", "heal", "none" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "deity_sanctification", new[] { "any", "holy", "unholy" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "element_enum", new[] { "air", "earth", "fire", "metal", "universal", "water", "wood" });
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, "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" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "spell_damage_category", new[] { "normal", "persistent", "splash" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "spell_damage_kinds", new[] { "any", "damage", "healing" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "spell_tradition", new[] { "all", "arcane", "divine", "elemental", "none", "occult", "primal" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "training_rank", new[] { "expert", "legendary", "master", "mythic", "trained", "untrained" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "trait_type", new[] { "class", "regular", "tradition" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "vision_enum", new[] { "dark-vision", "low-light-vision", "normal" });
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("DeityTraining", b =>
@@ -120,7 +120,7 @@ namespace Pf2eModel.Migrations
.HasColumnType("text")
.HasColumnName("description")
.HasColumnOrder(6)
.HasComment("Текстовое описание объекта");
.HasComment("Текстовое описание сущности");
b.Property<string>("Img")
.IsRequired()
@@ -134,13 +134,13 @@ namespace Pf2eModel.Migrations
.HasColumnType("boolean")
.HasColumnName("is_checked")
.HasColumnOrder(9)
.HasComment("Флаг, указывающий, что объект был проверен и не требует автоматической перезаписи");
.HasComment("Флаг, указывающий, что сущность был проверен и не требует автоматической перезаписи");
b.Property<bool?>("IsTranslated")
.HasColumnType("boolean")
.HasColumnName("is_translated")
.HasColumnOrder(8)
.HasComment("Флаг, указывающий, что у объекта существует перевод");
.HasComment("Флаг, указывающий, что у сущности существует перевод");
b.Property<string>("Name")
.IsRequired()
@@ -152,7 +152,8 @@ namespace Pf2eModel.Migrations
b.Property<EntityRarity>("Rarity")
.HasColumnType("entity_rarity")
.HasColumnName("rarity")
.HasColumnOrder(7);
.HasColumnOrder(7)
.HasComment("Редкость сущности");
b.Property<string>("Slug")
.IsRequired()
@@ -166,7 +167,7 @@ namespace Pf2eModel.Migrations
.HasColumnType("entity_type")
.HasColumnName("type")
.HasColumnOrder(3)
.HasComment("Тип объекта");
.HasComment("Тип сущности");
b.HasKey("Id")
.HasName("pk_entities");
@@ -188,14 +189,16 @@ namespace Pf2eModel.Migrations
.IsRequired()
.HasColumnType("jsonb")
.HasColumnName("name")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Отображаемое имя");
b.Property<string>("Slug")
.IsRequired()
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("slug")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Часть имени в URL");
b.HasKey("Id")
.HasName("pk_keywords");
@@ -209,21 +212,24 @@ namespace Pf2eModel.Migrations
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("KeywordId")
.HasColumnType("integer")
.HasColumnName("keyword_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_keyword_aliases");
@@ -240,14 +246,16 @@ namespace Pf2eModel.Migrations
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(0);
.HasColumnOrder(0)
.HasComment("Идентификатор");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("EntityId")
.HasColumnType("integer")
.HasColumnName("entity_id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор сущности");
b.Property<bool>("IsRemaster")
.HasColumnType("boolean")
@@ -258,7 +266,8 @@ namespace Pf2eModel.Migrations
b.Property<int>("SourceId")
.HasColumnType("integer")
.HasColumnName("source_id")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Идентификатор источника");
b.Property<string>("Suffix")
.IsRequired()
@@ -286,26 +295,30 @@ namespace Pf2eModel.Migrations
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<SourceCategory>("Category")
.HasColumnType("source_category")
.HasColumnName("category")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Категория источника");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("name")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Отображаемое имя");
b.Property<DateOnly?>("ReleaseDate")
.HasColumnType("date")
.HasColumnName("release_date")
.HasColumnOrder(4);
.HasColumnOrder(4)
.HasComment("Дата выхода источника");
b.HasKey("Id")
.HasName("pk_sources");
@@ -318,12 +331,14 @@ namespace Pf2eModel.Migrations
b.Property<int>("EntityId")
.HasColumnType("integer")
.HasColumnName("entity_id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор сущности");
b.Property<int>("TargetId")
.HasColumnType("integer")
.HasColumnName("target_id")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Идентификатор цели");
b.Property<string>("Md5")
.IsRequired()
@@ -331,7 +346,7 @@ namespace Pf2eModel.Migrations
.HasColumnType("character varying(32)")
.HasColumnName("md5")
.HasColumnOrder(5)
.HasComment("Контроль версии объекта");
.HasComment("Контрольная сумма объекта");
b.Property<string>("Suffix")
.IsRequired()
@@ -356,7 +371,8 @@ namespace Pf2eModel.Migrations
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
@@ -365,21 +381,24 @@ namespace Pf2eModel.Migrations
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("icon")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Иконка цели");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("name")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Отображаемое имя");
b.Property<string>("Prefix")
.IsRequired()
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("prefix")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Префикс для URL-адреса внешней ссылки");
b.HasKey("Id")
.HasName("pk_external_targets");
@@ -393,24 +412,28 @@ namespace Pf2eModel.Migrations
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("Max")
.HasColumnType("integer")
.HasColumnName("max")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Максимальная продолжительсность");
b.Property<int>("Per")
.HasColumnType("integer")
.HasColumnName("per")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Частота использования");
b.Property<int?>("Value")
.HasColumnType("integer")
.HasColumnName("value")
.HasColumnOrder(4);
.HasColumnOrder(4)
.HasComment("Значение использования");
b.HasKey("Id")
.HasName("pk_frequencies");
@@ -424,7 +447,8 @@ namespace Pf2eModel.Migrations
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
@@ -432,12 +456,14 @@ namespace Pf2eModel.Migrations
.IsRequired()
.HasColumnType("jsonb")
.HasColumnName("name")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Название способности");
b.Property<int>("Type")
.HasColumnType("integer")
.HasColumnName("type")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Тип способности");
b.HasKey("Id")
.HasName("pk_trainings");
@@ -450,17 +476,20 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<ActionEnum>("Actions")
.HasColumnType("action_enum")
.HasColumnName("actions")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Количество действий");
b.Property<string>("Extra")
.HasColumnType("text")
.HasColumnName("extra")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Дополнительная информация");
b.HasKey("Id")
.HasName("pk_actions");
@@ -473,28 +502,33 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<int>("Hp")
.HasColumnType("integer")
.HasColumnName("hp")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Количество очков здоровья");
b.PrimitiveCollection<Size[]>("Size")
b.PrimitiveCollection<SizeEnum[]>("Size")
.IsRequired()
.HasColumnType("size[]")
.HasColumnType("size_enum[]")
.HasColumnName("size")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Размеры родословной");
b.Property<int>("Speed")
.HasColumnType("integer")
.HasColumnName("speed")
.HasColumnOrder(4);
.HasColumnOrder(4)
.HasComment("Скорость передвижения");
b.Property<AncestryVision>("Vision")
.HasColumnType("ancestry_vision")
.HasColumnName("vision")
.HasColumnOrder(5);
b.Property<VisionEnum>("VisionEnum")
.HasColumnType("vision_enum")
.HasColumnName("vision_enum")
.HasColumnOrder(5)
.HasComment("Тип зрения");
b.HasKey("Id")
.HasName("pk_ancestries");
@@ -593,22 +627,26 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<int?>("DedicationFeatId")
.HasColumnType("integer")
.HasColumnName("dedication_feat_id")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("ID посвящения");
b.Property<string>("Extra")
.HasColumnType("text")
.HasColumnName("extra")
.HasColumnOrder(4);
.HasColumnOrder(4)
.HasComment("Дополнительная информация");
b.Property<int>("Level")
.HasColumnType("integer")
.HasColumnName("level")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Уровень");
b.HasKey("Id")
.HasName("pk_archetypes");
@@ -644,7 +682,8 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.HasKey("Id")
.HasName("pk_backgrounds");
@@ -746,32 +785,32 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<int>("AdditionalTrainedSkills")
.HasColumnType("integer")
.HasColumnName("additional_trained_skills")
.HasColumnOrder(7);
.HasColumnOrder(7)
.HasComment("Дополнительные навыки");
b.Property<int>("Hp")
.HasColumnType("integer")
.HasColumnName("hp")
.HasColumnOrder(3);
b.Property<int>("Perception")
.HasColumnType("integer")
.HasColumnName("perception")
.HasColumnOrder(4);
.HasColumnOrder(2)
.HasComment("Количество очков здоровья");
b.Property<bool>("Spellcasting")
.HasColumnType("boolean")
.HasColumnName("spellcasting")
.HasColumnOrder(5);
.HasColumnOrder(3)
.HasComment("Заклинатель?");
b.Property<SpellTradition>("Tradition")
b.Property<SpellTradition?>("Tradition")
.HasColumnType("spell_tradition")
.HasColumnName("tradition")
.HasColumnOrder(6);
.HasColumnOrder(6)
.HasComment("Традиция заклинаний");
b.HasKey("Id")
.HasName("pk_classes");
@@ -948,17 +987,20 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<string>("Extra")
.HasColumnType("text")
.HasColumnName("extra")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Дополнительная информация");
b.Property<ConditionGroup?>("Group")
.HasColumnType("condition_group")
.HasColumnName("group")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Группа состояния");
b.HasKey("Id")
.HasName("pk_conditions");
@@ -971,27 +1013,32 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<DeityCategory>("Category")
.HasColumnType("deity_category")
.HasColumnName("category")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Тип божества");
b.Property<DeityFonts>("Fonts")
.HasColumnType("deity_fonts")
.HasColumnName("fonts")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Тип божественной силы");
b.Property<DeitySanctification>("Sanctification")
.HasColumnType("deity_sanctification")
.HasColumnName("sanctification")
.HasColumnOrder(4);
.HasColumnOrder(4)
.HasComment("Тип освящения");
b.Property<bool>("SanctificationMust")
.HasColumnType("boolean")
.HasColumnName("sanctification_must")
.HasColumnOrder(5);
.HasColumnOrder(5)
.HasComment("Обязательное освящение");
b.HasKey("Id")
.HasName("pk_deities");
@@ -1126,22 +1173,26 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<int?>("Actions")
.HasColumnType("integer")
.HasColumnName("actions")
.HasColumnOrder(5);
.HasColumnOrder(5)
.HasComment("Количество действий");
b.Property<ActionCategory>("Category")
.HasColumnType("action_category")
b.Property<FeatCategory>("Category")
.HasColumnType("feat_category")
.HasColumnName("category")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Категория способности");
b.Property<string>("Extra")
.HasColumnType("text")
.HasColumnName("extra")
.HasColumnOrder(10);
.HasColumnOrder(10)
.HasComment("Дополнительная информация");
b.Property<bool>("IsFreeAction")
.HasColumnType("boolean")
@@ -1161,7 +1212,8 @@ namespace Pf2eModel.Migrations
b.Property<int>("Level")
.HasColumnType("integer")
.HasColumnName("level")
.HasColumnOrder(4);
.HasColumnOrder(4)
.HasComment("Уровень способности");
b.Property<int?>("MaxActions")
.HasColumnType("integer")
@@ -1210,12 +1262,14 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<int?>("AncestryId")
.HasColumnType("integer")
.HasColumnName("ancestry_id")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Идентификатор родословной");
b.HasKey("Id")
.HasName("pk_heritages");
@@ -1229,12 +1283,10 @@ namespace Pf2eModel.Migrations
modelBuilder.Entity("Pf2eModel.Model.Structure.Language", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<int>("EntityId")
.HasColumnType("integer")
@@ -1254,7 +1306,8 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<int>("CastTime")
.HasColumnType("integer")
@@ -1265,7 +1318,8 @@ namespace Pf2eModel.Migrations
b.Property<string>("Cost")
.HasColumnType("jsonb")
.HasColumnName("cost")
.HasColumnOrder(14);
.HasColumnOrder(14)
.HasComment("Стоимость ритуала");
b.Property<int>("Duration")
.HasColumnType("integer")
@@ -1273,61 +1327,72 @@ namespace Pf2eModel.Migrations
.HasColumnOrder(4)
.HasComment("Время действия эффекта ритуала в секундах");
b.PrimitiveCollection<int[]>("Elements")
b.PrimitiveCollection<ElementEnum[]>("Elements")
.IsRequired()
.HasColumnType("integer[]")
.HasColumnType("element_enum[]")
.HasColumnName("elements")
.HasColumnOrder(5);
.HasColumnOrder(5)
.HasComment("Элементы ритуала");
b.Property<int>("Level")
.HasColumnType("integer")
.HasColumnName("level")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Уровень ритуала");
b.Property<TrainingRank>("PrimaryCheckRank")
.HasColumnType("training_rank")
.HasColumnName("primary_check_rank")
.HasColumnOrder(7);
.HasColumnOrder(7)
.HasComment("Ранг основной проверки");
b.Property<string>("PrimaryCheckSuffix")
.HasColumnType("jsonb")
.HasColumnName("primary_check_suffix")
.HasColumnOrder(8);
.HasColumnOrder(8)
.HasComment("Дополнительная информация об основной проверки");
b.Property<int>("Range")
.HasColumnType("integer")
.HasColumnName("range")
.HasColumnOrder(6);
.HasColumnOrder(6)
.HasComment("Дальнность ритуала");
b.Property<string>("RangeString")
.HasColumnType("jsonb")
.HasColumnName("range_string")
.HasColumnOrder(12);
.HasColumnOrder(12)
.HasComment("Дальность ритуала");
b.Property<string>("Requirement")
.HasColumnType("jsonb")
.HasColumnName("requirement")
.HasColumnOrder(15);
.HasColumnOrder(15)
.HasComment("Требования к ритуалу");
b.Property<int>("SecondaryCasters")
.HasColumnType("integer")
.HasColumnName("secondary_casters")
.HasColumnOrder(9);
.HasColumnOrder(9)
.HasComment("Количество дополнительных заклинателей");
b.Property<int>("SecondaryCastersMax")
.HasColumnType("integer")
.HasColumnName("secondary_casters_max")
.HasColumnOrder(10);
.HasColumnOrder(10)
.HasComment("Максимальное количество дополнительных заклинателей");
b.Property<string>("SecondaryCastersSuffix")
.HasColumnType("jsonb")
.HasColumnName("secondary_casters_suffix")
.HasColumnOrder(11);
.HasColumnOrder(11)
.HasComment("Дополнительная информация о дополнительных заклинателях");
b.Property<string>("Target")
.HasColumnType("jsonb")
.HasColumnName("target")
.HasColumnOrder(13);
.HasColumnOrder(13)
.HasComment("Цель ритуала");
b.HasKey("Id")
.HasName("pk_rituals");
@@ -1411,7 +1476,8 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.PrimitiveCollection<string[]>("Breadcrumbs")
.IsRequired()
@@ -1421,12 +1487,14 @@ namespace Pf2eModel.Migrations
b.Property<int>("Order")
.HasColumnType("integer")
.HasColumnName("order")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Порядок отображения");
b.Property<int?>("ParentId")
.HasColumnType("integer")
.HasColumnName("parent_id")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Родительского правило");
b.HasKey("Id")
.HasName("pk_rules");
@@ -1442,34 +1510,40 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<ActionEnum>("Actions")
.HasColumnType("action_enum")
.HasColumnName("actions")
.HasColumnOrder(4);
.HasColumnOrder(4)
.HasComment("Количество действий");
b.Property<string>("Cost")
.HasColumnType("jsonb")
.HasColumnName("cost")
.HasColumnOrder(11);
.HasColumnOrder(11)
.HasComment("Стоимость заклинания");
b.Property<int?>("Duration")
.HasMaxLength(255)
.HasColumnType("integer")
.HasColumnName("duration")
.HasColumnOrder(5);
.HasColumnOrder(5)
.HasComment("Время длительности заклинания");
b.PrimitiveCollection<int[]>("Elements")
b.PrimitiveCollection<ElementEnum[]>("Elements")
.IsRequired()
.HasColumnType("integer[]")
.HasColumnType("element_enum[]")
.HasColumnName("elements")
.HasColumnOrder(8);
.HasColumnOrder(8)
.HasComment("Элементы заклинания");
b.Property<bool>("IsFocus")
.HasColumnType("boolean")
.HasColumnName("is_focus")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Фокус?");
b.Property<int>("Level")
.HasColumnType("integer")
@@ -1479,28 +1553,33 @@ namespace Pf2eModel.Migrations
b.Property<int>("Range")
.HasColumnType("integer")
.HasColumnName("range")
.HasColumnOrder(6);
.HasColumnOrder(6)
.HasComment("Дальность заклинания");
b.Property<string>("Requirement")
.HasColumnType("jsonb")
.HasColumnName("requirement")
.HasColumnOrder(12);
.HasColumnOrder(12)
.HasComment("Требования к заклинанию");
b.Property<string>("Target")
.HasColumnType("jsonb")
.HasColumnName("target")
.HasColumnOrder(10);
.HasColumnOrder(10)
.HasComment("Цель заклинания");
b.PrimitiveCollection<SpellTradition[]>("Traditions")
.IsRequired()
.HasColumnType("spell_tradition[]")
.HasColumnName("traditions")
.HasColumnOrder(7);
.HasColumnOrder(7)
.HasComment("Традиции заклинания");
b.Property<string>("Trigger")
.HasColumnType("jsonb")
.HasColumnName("trigger")
.HasColumnOrder(9);
.HasColumnOrder(9)
.HasComment("Триггер заклинания");
b.HasKey("Id")
.HasName("pk_spells");
@@ -1655,13 +1734,15 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<string>("Additional")
.IsRequired()
.HasColumnType("jsonb")
.HasColumnName("additional")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Дополнительная информация");
b.Property<string>("Extra")
.IsRequired()
@@ -1672,7 +1753,8 @@ namespace Pf2eModel.Migrations
b.Property<int>("GroupId")
.HasColumnType("integer")
.HasColumnName("group_id")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Группа подклассов");
b.HasKey("Id")
.HasName("pk_subclasses");
@@ -1688,12 +1770,14 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<int?>("ClassId")
.HasColumnType("integer")
.HasColumnName("class_id")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Идентификатор класса");
b.HasKey("Id")
.HasName("pk_subclass_groups");
@@ -1709,12 +1793,14 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<TraitType>("Type")
.HasColumnType("trait_type")
.HasColumnName("type")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Тип признака");
b.HasKey("Id")
.HasName("pk_traits");
@@ -14,28 +14,28 @@ namespace Pf2eModel.Migrations
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AlterDatabase()
.Annotation("Npgsql:Enum:action_category", "unknown,archetype,class-feature,class-feat,offensive,defensive,interaction,familiar,army_tactic,army_war_action,kingdom_activity,kingdom_feat,kingdom_feature")
.Annotation("Npgsql:Enum:action_enum", "unknown,1,2,3,reaction,free,passive,other,1-3,1-2,2-3,2/2 rounds,reaction/1,reaction/2,reaction/3,free/1,1 minute,5 minutes,10 minutes,30 minutes,1 hour")
.Annotation("Npgsql:Enum:ancestry_vision", "normal,low-light-vision,dark-vision")
.Annotation("Npgsql:Enum:attribute_values", "free,str,dex,con,int,wis,cha")
.Annotation("Npgsql:Enum:class_progression_type", "entity,ancestry_feat,class_feat,general_feat,skill_feat,skill_increase")
.Annotation("Npgsql:Enum:condition_group", "unknown,senses,abilities,death,attitudes,detection")
.Annotation("Npgsql:Enum:deity_category", "deity,pantheon,covenant,philosophy")
.Annotation("Npgsql:Enum:deity_fonts", "none,heal,harm,any")
.Annotation("Npgsql:Enum:deity_sanctification", "holy,unholy,any")
.Annotation("Npgsql:Enum:entity_rarity", "common,uncommon,rare,unique")
.Annotation("Npgsql:Enum:entity_type", "unknown,trait,action,ancestry,archetype,background,backpack,campaign_feature,class,subclass_group,subclass,condition,deity,feat,heritage,spell,ritual,language,rule")
.Annotation("Npgsql:Enum:feat_action_type", "passive,action,reaction,free")
.Annotation("Npgsql:Enum:feat_category", "uncategorized,ancestry-feature,class-feature,calling,class,skill,general,ancestry,bonus,deityboon,curse,pfsboon,campaign-feature")
.Annotation("Npgsql:Enum:locale_type", "english,legacy_english,russian,legacy,hobby,other")
.Annotation("Npgsql:Enum:size", "tiny,small,medium,large")
.Annotation("Npgsql:Enum:source_category", "rulebook,adventure-path,lost-omens,adventures,comics,blog-posts,society")
.Annotation("Npgsql:Enum:spell_area_type", "burst,emanation,cone,line,square,cube,cylinder,varies,cuboid,circle,other")
.Annotation("Npgsql:Enum:spell_damage_category", "persistent,splash")
.Annotation("Npgsql:Enum:spell_damage_kinds", "damage,healing,any")
.Annotation("Npgsql:Enum:spell_tradition", "none,divine,occult,arcane,primal,elemental,all")
.Annotation("Npgsql:Enum:training_rank", "untrained,trained,expert,master,legendary,mythic")
.Annotation("Npgsql:Enum:trait_type", "regular,class,tradition");
.Annotation("Npgsql:Enum:action_category", "archetype,army_tactic,army_war_action,class-feat,class-feature,defensive,familiar,interaction,kingdom_activity,kingdom_feat,kingdom_feature,offensive,unknown")
.Annotation("Npgsql:Enum:action_enum", "1,1 hour,1 minute,1-2,1-3,10 minutes,2,2-3,2/2 rounds,3,30 minutes,5 minutes,free,free/1,other,passive,reaction,reaction/1,reaction/2,reaction/3,unknown")
.Annotation("Npgsql:Enum:attribute_values", "cha,con,dex,free,int,str,wis")
.Annotation("Npgsql:Enum:class_progression_type", "ancestry_feat,attribute_increase,class_feat,entity,general_feat,skill_feat,skill_increase")
.Annotation("Npgsql:Enum:condition_group", "abilities,attitudes,death,detection,senses,unknown")
.Annotation("Npgsql:Enum:deity_category", "covenant,deity,pantheon,philosophy")
.Annotation("Npgsql:Enum:deity_fonts", "any,harm,heal,none")
.Annotation("Npgsql:Enum:deity_sanctification", "any,holy,unholy")
.Annotation("Npgsql:Enum:element_enum", "air,earth,fire,metal,universal,water,wood")
.Annotation("Npgsql:Enum:entity_rarity", "common,rare,uncommon,unique")
.Annotation("Npgsql:Enum:entity_type", "action,ancestry,archetype,background,backpack,campaign_feature,class,condition,deity,feat,heritage,language,ritual,rule,spell,subclass,subclass_group,trait,unknown")
.Annotation("Npgsql:Enum:feat_category", "ancestry,ancestry-feature,archetype,bonus,calling,campaign-feature,class,class-feature,curse,deityboon,general,pfsboon,skill,uncategorized")
.Annotation("Npgsql:Enum:locale_type", "english,hobby,legacy,legacy_english,other,russian")
.Annotation("Npgsql:Enum:size_enum", "huge,large,medium,small,tiny")
.Annotation("Npgsql:Enum:source_category", "adventure-path,adventures,blog-posts,comics,lost-omens,rulebook,society")
.Annotation("Npgsql:Enum:spell_area_type", "burst,circle,cone,cube,cuboid,cylinder,emanation,line,other,square,varies")
.Annotation("Npgsql:Enum:spell_damage_category", "normal,persistent,splash")
.Annotation("Npgsql:Enum:spell_damage_kinds", "any,damage,healing")
.Annotation("Npgsql:Enum:spell_tradition", "all,arcane,divine,elemental,none,occult,primal")
.Annotation("Npgsql:Enum:training_rank", "expert,legendary,master,mythic,trained,untrained")
.Annotation("Npgsql:Enum:trait_type", "class,regular,tradition")
.Annotation("Npgsql:Enum:vision_enum", "dark-vision,low-light-vision,normal");
migrationBuilder.CreateTable(
name: "entities",
@@ -44,13 +44,13 @@ namespace Pf2eModel.Migrations
id = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
name = table.Column<string>(type: "jsonb", nullable: false, comment: "Отображаемое имя"),
type = table.Column<EntityType>(type: "entity_type", nullable: false, comment: "Тип объекта"),
type = table.Column<EntityType>(type: "entity_type", nullable: false, comment: "Тип сущности"),
slug = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false, comment: "Часть имени в URL"),
img = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false, comment: "Изображение объекта"),
description = table.Column<string>(type: "text", nullable: false, comment: "Текстовое описание объекта"),
rarity = table.Column<EntityRarity>(type: "entity_rarity", nullable: false),
is_translated = table.Column<bool>(type: "boolean", nullable: true, comment: "Флаг, указывающий, что у объекта существует перевод"),
is_checked = table.Column<bool>(type: "boolean", nullable: true, comment: "Флаг, указывающий, что объект был проверен и не требует автоматической перезаписи")
description = table.Column<string>(type: "text", nullable: false, comment: "Текстовое описание сущности"),
rarity = table.Column<EntityRarity>(type: "entity_rarity", nullable: false, comment: "Редкость сущности"),
is_translated = table.Column<bool>(type: "boolean", nullable: true, comment: "Флаг, указывающий, что у сущности существует перевод"),
is_checked = table.Column<bool>(type: "boolean", nullable: true, comment: "Флаг, указывающий, что сущность был проверен и не требует автоматической перезаписи")
},
constraints: table =>
{
@@ -61,11 +61,11 @@ namespace Pf2eModel.Migrations
name: "external_targets",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false)
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор")
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
name = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false),
icon = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false),
prefix = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false)
name = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false, comment: "Отображаемое имя"),
icon = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false, comment: "Иконка цели"),
prefix = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false, comment: "Префикс для URL-адреса внешней ссылки")
},
constraints: table =>
{
@@ -76,11 +76,11 @@ namespace Pf2eModel.Migrations
name: "frequencies",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false)
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор")
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
max = table.Column<int>(type: "integer", nullable: false),
per = table.Column<int>(type: "integer", nullable: false),
value = table.Column<int>(type: "integer", nullable: true)
max = table.Column<int>(type: "integer", nullable: false, comment: "Максимальная продолжительсность"),
per = table.Column<int>(type: "integer", nullable: false, comment: "Частота использования"),
value = table.Column<int>(type: "integer", nullable: true, comment: "Значение использования")
},
constraints: table =>
{
@@ -93,8 +93,8 @@ namespace Pf2eModel.Migrations
{
id = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
name = table.Column<string>(type: "jsonb", nullable: false),
slug = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false)
name = table.Column<string>(type: "jsonb", nullable: false, comment: "Отображаемое имя"),
slug = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false, comment: "Часть имени в URL")
},
constraints: table =>
{
@@ -105,11 +105,11 @@ namespace Pf2eModel.Migrations
name: "sources",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false)
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор")
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
name = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false),
category = table.Column<SourceCategory>(type: "source_category", nullable: false),
release_date = table.Column<DateOnly>(type: "date", nullable: true)
name = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false, comment: "Отображаемое имя"),
category = table.Column<SourceCategory>(type: "source_category", nullable: false, comment: "Категория источника"),
release_date = table.Column<DateOnly>(type: "date", nullable: true, comment: "Дата выхода источника")
},
constraints: table =>
{
@@ -120,10 +120,10 @@ namespace Pf2eModel.Migrations
name: "trainings",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false)
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор")
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
name = table.Column<string>(type: "jsonb", nullable: false),
type = table.Column<int>(type: "integer", nullable: false)
name = table.Column<string>(type: "jsonb", nullable: false, comment: "Название способности"),
type = table.Column<int>(type: "integer", nullable: false, comment: "Тип способности")
},
constraints: table =>
{
@@ -134,9 +134,9 @@ namespace Pf2eModel.Migrations
name: "actions",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false),
actions = table.Column<ActionEnum>(type: "action_enum", nullable: false),
extra = table.Column<string>(type: "text", nullable: true)
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор"),
actions = table.Column<ActionEnum>(type: "action_enum", nullable: false, comment: "Количество действий"),
extra = table.Column<string>(type: "text", nullable: true, comment: "Дополнительная информация")
},
constraints: table =>
{
@@ -153,11 +153,11 @@ namespace Pf2eModel.Migrations
name: "ancestries",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false),
size = table.Column<Size[]>(type: "size[]", nullable: false),
hp = table.Column<int>(type: "integer", nullable: false),
speed = table.Column<int>(type: "integer", nullable: false),
vision = table.Column<AncestryVision>(type: "ancestry_vision", nullable: false)
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор"),
size = table.Column<SizeEnum[]>(type: "size_enum[]", nullable: false, comment: "Размеры родословной"),
hp = table.Column<int>(type: "integer", nullable: false, comment: "Количество очков здоровья"),
speed = table.Column<int>(type: "integer", nullable: false, comment: "Скорость передвижения"),
vision_enum = table.Column<VisionEnum>(type: "vision_enum", nullable: false, comment: "Тип зрения")
},
constraints: table =>
{
@@ -174,7 +174,7 @@ namespace Pf2eModel.Migrations
name: "backgrounds",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false)
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор")
},
constraints: table =>
{
@@ -191,12 +191,11 @@ namespace Pf2eModel.Migrations
name: "classes",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false),
hp = table.Column<int>(type: "integer", nullable: false),
perception = table.Column<int>(type: "integer", nullable: false),
spellcasting = table.Column<bool>(type: "boolean", nullable: false),
tradition = table.Column<SpellTradition>(type: "spell_tradition", nullable: false),
additional_trained_skills = table.Column<int>(type: "integer", nullable: false)
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор"),
hp = table.Column<int>(type: "integer", nullable: false, comment: "Количество очков здоровья"),
spellcasting = table.Column<bool>(type: "boolean", nullable: false, comment: "Заклинатель?"),
tradition = table.Column<SpellTradition>(type: "spell_tradition", nullable: true, comment: "Традиция заклинаний"),
additional_trained_skills = table.Column<int>(type: "integer", nullable: false, comment: "Дополнительные навыки")
},
constraints: table =>
{
@@ -213,9 +212,9 @@ namespace Pf2eModel.Migrations
name: "conditions",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false),
group = table.Column<ConditionGroup>(type: "condition_group", nullable: true),
extra = table.Column<string>(type: "text", nullable: true)
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор"),
group = table.Column<ConditionGroup>(type: "condition_group", nullable: true, comment: "Группа состояния"),
extra = table.Column<string>(type: "text", nullable: true, comment: "Дополнительная информация")
},
constraints: table =>
{
@@ -232,11 +231,11 @@ namespace Pf2eModel.Migrations
name: "deities",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false),
category = table.Column<DeityCategory>(type: "deity_category", nullable: false),
fonts = table.Column<DeityFonts>(type: "deity_fonts", nullable: false),
sanctification = table.Column<DeitySanctification>(type: "deity_sanctification", nullable: false),
sanctification_must = table.Column<bool>(type: "boolean", nullable: false)
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор"),
category = table.Column<DeityCategory>(type: "deity_category", nullable: false, comment: "Тип божества"),
fonts = table.Column<DeityFonts>(type: "deity_fonts", nullable: false, comment: "Тип божественной силы"),
sanctification = table.Column<DeitySanctification>(type: "deity_sanctification", nullable: false, comment: "Тип освящения"),
sanctification_must = table.Column<bool>(type: "boolean", nullable: false, comment: "Обязательное освящение")
},
constraints: table =>
{
@@ -253,15 +252,15 @@ namespace Pf2eModel.Migrations
name: "feats",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false),
category = table.Column<ActionCategory>(type: "action_category", nullable: false),
level = table.Column<int>(type: "integer", nullable: false),
actions = table.Column<int>(type: "integer", nullable: true),
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор"),
category = table.Column<FeatCategory>(type: "feat_category", nullable: false, comment: "Категория способности"),
level = table.Column<int>(type: "integer", nullable: false, comment: "Уровень способности"),
actions = table.Column<int>(type: "integer", nullable: true, comment: "Количество действий"),
max_actions = table.Column<int>(type: "integer", nullable: true),
is_reaction = table.Column<bool>(type: "boolean", nullable: false),
is_free_action = table.Column<bool>(type: "boolean", nullable: false),
is_passive = table.Column<bool>(type: "boolean", nullable: false),
extra = table.Column<string>(type: "text", nullable: true)
extra = table.Column<string>(type: "text", nullable: true, comment: "Дополнительная информация")
},
constraints: table =>
{
@@ -278,8 +277,7 @@ namespace Pf2eModel.Migrations
name: "languages",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор"),
entity_id = table.Column<int>(type: "integer", nullable: false)
},
constraints: table =>
@@ -297,21 +295,21 @@ namespace Pf2eModel.Migrations
name: "rituals",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false),
level = table.Column<int>(type: "integer", nullable: false),
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор"),
level = table.Column<int>(type: "integer", nullable: false, comment: "Уровень ритуала"),
cast_time = table.Column<int>(type: "integer", nullable: false, comment: "Продолжительность ритуала в секундах"),
duration = table.Column<int>(type: "integer", nullable: false, comment: "Время действия эффекта ритуала в секундах"),
elements = table.Column<int[]>(type: "integer[]", nullable: false),
range = table.Column<int>(type: "integer", nullable: false),
primary_check_rank = table.Column<TrainingRank>(type: "training_rank", nullable: false),
primary_check_suffix = table.Column<string>(type: "jsonb", nullable: true),
secondary_casters = table.Column<int>(type: "integer", nullable: false),
secondary_casters_max = table.Column<int>(type: "integer", nullable: false),
secondary_casters_suffix = table.Column<string>(type: "jsonb", nullable: true),
range_string = table.Column<string>(type: "jsonb", nullable: true),
target = table.Column<string>(type: "jsonb", nullable: true),
cost = table.Column<string>(type: "jsonb", nullable: true),
requirement = table.Column<string>(type: "jsonb", nullable: true)
elements = table.Column<ElementEnum[]>(type: "element_enum[]", nullable: false, comment: "Элементы ритуала"),
range = table.Column<int>(type: "integer", nullable: false, comment: "Дальнность ритуала"),
primary_check_rank = table.Column<TrainingRank>(type: "training_rank", nullable: false, comment: "Ранг основной проверки"),
primary_check_suffix = table.Column<string>(type: "jsonb", nullable: true, comment: "Дополнительная информация об основной проверки"),
secondary_casters = table.Column<int>(type: "integer", nullable: false, comment: "Количество дополнительных заклинателей"),
secondary_casters_max = table.Column<int>(type: "integer", nullable: false, comment: "Максимальное количество дополнительных заклинателей"),
secondary_casters_suffix = table.Column<string>(type: "jsonb", nullable: true, comment: "Дополнительная информация о дополнительных заклинателях"),
range_string = table.Column<string>(type: "jsonb", nullable: true, comment: "Дальность ритуала"),
target = table.Column<string>(type: "jsonb", nullable: true, comment: "Цель ритуала"),
cost = table.Column<string>(type: "jsonb", nullable: true, comment: "Стоимость ритуала"),
requirement = table.Column<string>(type: "jsonb", nullable: true, comment: "Требования к ритуалу")
},
constraints: table =>
{
@@ -328,9 +326,9 @@ namespace Pf2eModel.Migrations
name: "rules",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false),
order = table.Column<int>(type: "integer", nullable: false),
parent_id = table.Column<int>(type: "integer", nullable: true),
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор"),
order = table.Column<int>(type: "integer", nullable: false, comment: "Порядок отображения"),
parent_id = table.Column<int>(type: "integer", nullable: true, comment: "Родительского правило"),
breadcrumbs = table.Column<string[]>(type: "text[]", nullable: false)
},
constraints: table =>
@@ -353,18 +351,18 @@ namespace Pf2eModel.Migrations
name: "spells",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false),
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор"),
level = table.Column<int>(type: "integer", nullable: false),
is_focus = table.Column<bool>(type: "boolean", nullable: false),
actions = table.Column<ActionEnum>(type: "action_enum", nullable: false),
duration = table.Column<int>(type: "integer", maxLength: 255, nullable: true),
range = table.Column<int>(type: "integer", nullable: false),
traditions = table.Column<SpellTradition[]>(type: "spell_tradition[]", nullable: false),
elements = table.Column<int[]>(type: "integer[]", nullable: false),
trigger = table.Column<string>(type: "jsonb", nullable: true),
target = table.Column<string>(type: "jsonb", nullable: true),
cost = table.Column<string>(type: "jsonb", nullable: true),
requirement = table.Column<string>(type: "jsonb", nullable: true)
is_focus = table.Column<bool>(type: "boolean", nullable: false, comment: "Фокус?"),
actions = table.Column<ActionEnum>(type: "action_enum", nullable: false, comment: "Количество действий"),
duration = table.Column<int>(type: "integer", maxLength: 255, nullable: true, comment: "Время длительности заклинания"),
range = table.Column<int>(type: "integer", nullable: false, comment: "Дальность заклинания"),
traditions = table.Column<SpellTradition[]>(type: "spell_tradition[]", nullable: false, comment: "Традиции заклинания"),
elements = table.Column<ElementEnum[]>(type: "element_enum[]", nullable: false, comment: "Элементы заклинания"),
trigger = table.Column<string>(type: "jsonb", nullable: true, comment: "Триггер заклинания"),
target = table.Column<string>(type: "jsonb", nullable: true, comment: "Цель заклинания"),
cost = table.Column<string>(type: "jsonb", nullable: true, comment: "Стоимость заклинания"),
requirement = table.Column<string>(type: "jsonb", nullable: true, comment: "Требования к заклинанию")
},
constraints: table =>
{
@@ -381,8 +379,8 @@ namespace Pf2eModel.Migrations
name: "traits",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false),
type = table.Column<TraitType>(type: "trait_type", nullable: false)
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор"),
type = table.Column<TraitType>(type: "trait_type", nullable: false, comment: "Тип признака")
},
constraints: table =>
{
@@ -399,10 +397,10 @@ namespace Pf2eModel.Migrations
name: "entity_externals",
columns: table => new
{
entity_id = table.Column<int>(type: "integer", nullable: false),
target_id = table.Column<int>(type: "integer", nullable: false),
entity_id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор сущности"),
target_id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор цели"),
suffix = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false, comment: "Часть URL до объекта. Для источников Foundry - полный UUID объекта"),
md5 = table.Column<string>(type: "character varying(32)", maxLength: 32, nullable: false, comment: "Контроль версии объекта")
md5 = table.Column<string>(type: "character varying(32)", maxLength: 32, nullable: false, comment: "Контрольная сумма объекта")
},
constraints: table =>
{
@@ -449,10 +447,10 @@ namespace Pf2eModel.Migrations
name: "keyword_aliases",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false)
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор")
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
keyword_id = table.Column<int>(type: "integer", nullable: false),
value = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false)
keyword_id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор ключевого слова"),
value = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false, comment: "Синоним")
},
constraints: table =>
{
@@ -469,10 +467,10 @@ namespace Pf2eModel.Migrations
name: "entity_sources",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false)
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор")
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
entity_id = table.Column<int>(type: "integer", nullable: false),
source_id = table.Column<int>(type: "integer", nullable: false),
entity_id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор сущности"),
source_id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор источника"),
suffix = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false, comment: "Номер страницы, эррата и т.д."),
is_remaster = table.Column<bool>(type: "boolean", nullable: false, comment: "Флаг, указывающий, что объект является частью ремастера")
},
@@ -543,8 +541,8 @@ namespace Pf2eModel.Migrations
name: "heritages",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false),
ancestry_id = table.Column<int>(type: "integer", nullable: true)
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор"),
ancestry_id = table.Column<int>(type: "integer", nullable: true, comment: "Идентификатор родословной")
},
constraints: table =>
{
@@ -713,8 +711,8 @@ namespace Pf2eModel.Migrations
name: "subclass_groups",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false),
class_id = table.Column<int>(type: "integer", nullable: true)
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор"),
class_id = table.Column<int>(type: "integer", nullable: true, comment: "Идентификатор класса")
},
constraints: table =>
{
@@ -820,10 +818,10 @@ namespace Pf2eModel.Migrations
name: "archetypes",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false),
level = table.Column<int>(type: "integer", nullable: false),
dedication_feat_id = table.Column<int>(type: "integer", nullable: true),
extra = table.Column<string>(type: "text", nullable: true)
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор"),
level = table.Column<int>(type: "integer", nullable: false, comment: "Уровень"),
dedication_feat_id = table.Column<int>(type: "integer", nullable: true, comment: "ID посвящения"),
extra = table.Column<string>(type: "text", nullable: true, comment: "Дополнительная информация")
},
constraints: table =>
{
@@ -1059,9 +1057,9 @@ namespace Pf2eModel.Migrations
name: "subclasses",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false),
group_id = table.Column<int>(type: "integer", nullable: false),
additional = table.Column<string>(type: "jsonb", nullable: false),
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор"),
group_id = table.Column<int>(type: "integer", nullable: false, comment: "Группа подклассов"),
additional = table.Column<string>(type: "jsonb", nullable: false, comment: "Дополнительная информация"),
extra = table.Column<string>(type: "text", nullable: false)
},
constraints: table =>
+227 -141
View File
@@ -21,28 +21,28 @@ namespace Pf2eModel.Migrations
.HasAnnotation("ProductVersion", "9.0.4")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "action_category", new[] { "unknown", "archetype", "class-feature", "class-feat", "offensive", "defensive", "interaction", "familiar", "army_tactic", "army_war_action", "kingdom_activity", "kingdom_feat", "kingdom_feature" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "action_enum", new[] { "unknown", "1", "2", "3", "reaction", "free", "passive", "other", "1-3", "1-2", "2-3", "2/2 rounds", "reaction/1", "reaction/2", "reaction/3", "free/1", "1 minute", "5 minutes", "10 minutes", "30 minutes", "1 hour" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "ancestry_vision", new[] { "normal", "low-light-vision", "dark-vision" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "attribute_values", new[] { "free", "str", "dex", "con", "int", "wis", "cha" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "class_progression_type", new[] { "entity", "ancestry_feat", "class_feat", "general_feat", "skill_feat", "skill_increase" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "condition_group", new[] { "unknown", "senses", "abilities", "death", "attitudes", "detection" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "deity_category", new[] { "deity", "pantheon", "covenant", "philosophy" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "deity_fonts", new[] { "none", "heal", "harm", "any" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "deity_sanctification", new[] { "holy", "unholy", "any" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "entity_rarity", new[] { "common", "uncommon", "rare", "unique" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "entity_type", new[] { "unknown", "trait", "action", "ancestry", "archetype", "background", "backpack", "campaign_feature", "class", "subclass_group", "subclass", "condition", "deity", "feat", "heritage", "spell", "ritual", "language", "rule" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "feat_action_type", new[] { "passive", "action", "reaction", "free" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "feat_category", new[] { "uncategorized", "ancestry-feature", "class-feature", "calling", "class", "skill", "general", "ancestry", "bonus", "deityboon", "curse", "pfsboon", "campaign-feature" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "locale_type", new[] { "english", "legacy_english", "russian", "legacy", "hobby", "other" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "size", new[] { "tiny", "small", "medium", "large" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "source_category", new[] { "rulebook", "adventure-path", "lost-omens", "adventures", "comics", "blog-posts", "society" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "spell_area_type", new[] { "burst", "emanation", "cone", "line", "square", "cube", "cylinder", "varies", "cuboid", "circle", "other" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "spell_damage_category", new[] { "persistent", "splash" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "spell_damage_kinds", new[] { "damage", "healing", "any" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "spell_tradition", new[] { "none", "divine", "occult", "arcane", "primal", "elemental", "all" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "training_rank", new[] { "untrained", "trained", "expert", "master", "legendary", "mythic" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "trait_type", new[] { "regular", "class", "tradition" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "action_category", new[] { "archetype", "army_tactic", "army_war_action", "class-feat", "class-feature", "defensive", "familiar", "interaction", "kingdom_activity", "kingdom_feat", "kingdom_feature", "offensive", "unknown" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "action_enum", new[] { "1", "1 hour", "1 minute", "1-2", "1-3", "10 minutes", "2", "2-3", "2/2 rounds", "3", "30 minutes", "5 minutes", "free", "free/1", "other", "passive", "reaction", "reaction/1", "reaction/2", "reaction/3", "unknown" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "attribute_values", new[] { "cha", "con", "dex", "free", "int", "str", "wis" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "class_progression_type", new[] { "ancestry_feat", "attribute_increase", "class_feat", "entity", "general_feat", "skill_feat", "skill_increase" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "condition_group", new[] { "abilities", "attitudes", "death", "detection", "senses", "unknown" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "deity_category", new[] { "covenant", "deity", "pantheon", "philosophy" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "deity_fonts", new[] { "any", "harm", "heal", "none" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "deity_sanctification", new[] { "any", "holy", "unholy" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "element_enum", new[] { "air", "earth", "fire", "metal", "universal", "water", "wood" });
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, "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" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "spell_damage_category", new[] { "normal", "persistent", "splash" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "spell_damage_kinds", new[] { "any", "damage", "healing" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "spell_tradition", new[] { "all", "arcane", "divine", "elemental", "none", "occult", "primal" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "training_rank", new[] { "expert", "legendary", "master", "mythic", "trained", "untrained" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "trait_type", new[] { "class", "regular", "tradition" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "vision_enum", new[] { "dark-vision", "low-light-vision", "normal" });
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("DeityTraining", b =>
@@ -117,7 +117,7 @@ namespace Pf2eModel.Migrations
.HasColumnType("text")
.HasColumnName("description")
.HasColumnOrder(6)
.HasComment("Текстовое описание объекта");
.HasComment("Текстовое описание сущности");
b.Property<string>("Img")
.IsRequired()
@@ -131,13 +131,13 @@ namespace Pf2eModel.Migrations
.HasColumnType("boolean")
.HasColumnName("is_checked")
.HasColumnOrder(9)
.HasComment("Флаг, указывающий, что объект был проверен и не требует автоматической перезаписи");
.HasComment("Флаг, указывающий, что сущность был проверен и не требует автоматической перезаписи");
b.Property<bool?>("IsTranslated")
.HasColumnType("boolean")
.HasColumnName("is_translated")
.HasColumnOrder(8)
.HasComment("Флаг, указывающий, что у объекта существует перевод");
.HasComment("Флаг, указывающий, что у сущности существует перевод");
b.Property<string>("Name")
.IsRequired()
@@ -149,7 +149,8 @@ namespace Pf2eModel.Migrations
b.Property<EntityRarity>("Rarity")
.HasColumnType("entity_rarity")
.HasColumnName("rarity")
.HasColumnOrder(7);
.HasColumnOrder(7)
.HasComment("Редкость сущности");
b.Property<string>("Slug")
.IsRequired()
@@ -163,7 +164,7 @@ namespace Pf2eModel.Migrations
.HasColumnType("entity_type")
.HasColumnName("type")
.HasColumnOrder(3)
.HasComment("Тип объекта");
.HasComment("Тип сущности");
b.HasKey("Id")
.HasName("pk_entities");
@@ -185,14 +186,16 @@ namespace Pf2eModel.Migrations
.IsRequired()
.HasColumnType("jsonb")
.HasColumnName("name")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Отображаемое имя");
b.Property<string>("Slug")
.IsRequired()
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("slug")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Часть имени в URL");
b.HasKey("Id")
.HasName("pk_keywords");
@@ -206,21 +209,24 @@ namespace Pf2eModel.Migrations
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("KeywordId")
.HasColumnType("integer")
.HasColumnName("keyword_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_keyword_aliases");
@@ -237,14 +243,16 @@ namespace Pf2eModel.Migrations
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(0);
.HasColumnOrder(0)
.HasComment("Идентификатор");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("EntityId")
.HasColumnType("integer")
.HasColumnName("entity_id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор сущности");
b.Property<bool>("IsRemaster")
.HasColumnType("boolean")
@@ -255,7 +263,8 @@ namespace Pf2eModel.Migrations
b.Property<int>("SourceId")
.HasColumnType("integer")
.HasColumnName("source_id")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Идентификатор источника");
b.Property<string>("Suffix")
.IsRequired()
@@ -283,26 +292,30 @@ namespace Pf2eModel.Migrations
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<SourceCategory>("Category")
.HasColumnType("source_category")
.HasColumnName("category")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Категория источника");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("name")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Отображаемое имя");
b.Property<DateOnly?>("ReleaseDate")
.HasColumnType("date")
.HasColumnName("release_date")
.HasColumnOrder(4);
.HasColumnOrder(4)
.HasComment("Дата выхода источника");
b.HasKey("Id")
.HasName("pk_sources");
@@ -315,12 +328,14 @@ namespace Pf2eModel.Migrations
b.Property<int>("EntityId")
.HasColumnType("integer")
.HasColumnName("entity_id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор сущности");
b.Property<int>("TargetId")
.HasColumnType("integer")
.HasColumnName("target_id")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Идентификатор цели");
b.Property<string>("Md5")
.IsRequired()
@@ -328,7 +343,7 @@ namespace Pf2eModel.Migrations
.HasColumnType("character varying(32)")
.HasColumnName("md5")
.HasColumnOrder(5)
.HasComment("Контроль версии объекта");
.HasComment("Контрольная сумма объекта");
b.Property<string>("Suffix")
.IsRequired()
@@ -353,7 +368,8 @@ namespace Pf2eModel.Migrations
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
@@ -362,21 +378,24 @@ namespace Pf2eModel.Migrations
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("icon")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Иконка цели");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("name")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Отображаемое имя");
b.Property<string>("Prefix")
.IsRequired()
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("prefix")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Префикс для URL-адреса внешней ссылки");
b.HasKey("Id")
.HasName("pk_external_targets");
@@ -390,24 +409,28 @@ namespace Pf2eModel.Migrations
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("Max")
.HasColumnType("integer")
.HasColumnName("max")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Максимальная продолжительсность");
b.Property<int>("Per")
.HasColumnType("integer")
.HasColumnName("per")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Частота использования");
b.Property<int?>("Value")
.HasColumnType("integer")
.HasColumnName("value")
.HasColumnOrder(4);
.HasColumnOrder(4)
.HasComment("Значение использования");
b.HasKey("Id")
.HasName("pk_frequencies");
@@ -421,7 +444,8 @@ namespace Pf2eModel.Migrations
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
@@ -429,12 +453,14 @@ namespace Pf2eModel.Migrations
.IsRequired()
.HasColumnType("jsonb")
.HasColumnName("name")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Название способности");
b.Property<int>("Type")
.HasColumnType("integer")
.HasColumnName("type")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Тип способности");
b.HasKey("Id")
.HasName("pk_trainings");
@@ -447,17 +473,20 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<ActionEnum>("Actions")
.HasColumnType("action_enum")
.HasColumnName("actions")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Количество действий");
b.Property<string>("Extra")
.HasColumnType("text")
.HasColumnName("extra")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Дополнительная информация");
b.HasKey("Id")
.HasName("pk_actions");
@@ -470,28 +499,33 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<int>("Hp")
.HasColumnType("integer")
.HasColumnName("hp")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Количество очков здоровья");
b.PrimitiveCollection<Size[]>("Size")
b.PrimitiveCollection<SizeEnum[]>("Size")
.IsRequired()
.HasColumnType("size[]")
.HasColumnType("size_enum[]")
.HasColumnName("size")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Размеры родословной");
b.Property<int>("Speed")
.HasColumnType("integer")
.HasColumnName("speed")
.HasColumnOrder(4);
.HasColumnOrder(4)
.HasComment("Скорость передвижения");
b.Property<AncestryVision>("Vision")
.HasColumnType("ancestry_vision")
.HasColumnName("vision")
.HasColumnOrder(5);
b.Property<VisionEnum>("VisionEnum")
.HasColumnType("vision_enum")
.HasColumnName("vision_enum")
.HasColumnOrder(5)
.HasComment("Тип зрения");
b.HasKey("Id")
.HasName("pk_ancestries");
@@ -590,22 +624,26 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<int?>("DedicationFeatId")
.HasColumnType("integer")
.HasColumnName("dedication_feat_id")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("ID посвящения");
b.Property<string>("Extra")
.HasColumnType("text")
.HasColumnName("extra")
.HasColumnOrder(4);
.HasColumnOrder(4)
.HasComment("Дополнительная информация");
b.Property<int>("Level")
.HasColumnType("integer")
.HasColumnName("level")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Уровень");
b.HasKey("Id")
.HasName("pk_archetypes");
@@ -641,7 +679,8 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.HasKey("Id")
.HasName("pk_backgrounds");
@@ -743,32 +782,32 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<int>("AdditionalTrainedSkills")
.HasColumnType("integer")
.HasColumnName("additional_trained_skills")
.HasColumnOrder(7);
.HasColumnOrder(7)
.HasComment("Дополнительные навыки");
b.Property<int>("Hp")
.HasColumnType("integer")
.HasColumnName("hp")
.HasColumnOrder(3);
b.Property<int>("Perception")
.HasColumnType("integer")
.HasColumnName("perception")
.HasColumnOrder(4);
.HasColumnOrder(2)
.HasComment("Количество очков здоровья");
b.Property<bool>("Spellcasting")
.HasColumnType("boolean")
.HasColumnName("spellcasting")
.HasColumnOrder(5);
.HasColumnOrder(3)
.HasComment("Заклинатель?");
b.Property<SpellTradition>("Tradition")
b.Property<SpellTradition?>("Tradition")
.HasColumnType("spell_tradition")
.HasColumnName("tradition")
.HasColumnOrder(6);
.HasColumnOrder(6)
.HasComment("Традиция заклинаний");
b.HasKey("Id")
.HasName("pk_classes");
@@ -945,17 +984,20 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<string>("Extra")
.HasColumnType("text")
.HasColumnName("extra")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Дополнительная информация");
b.Property<ConditionGroup?>("Group")
.HasColumnType("condition_group")
.HasColumnName("group")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Группа состояния");
b.HasKey("Id")
.HasName("pk_conditions");
@@ -968,27 +1010,32 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<DeityCategory>("Category")
.HasColumnType("deity_category")
.HasColumnName("category")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Тип божества");
b.Property<DeityFonts>("Fonts")
.HasColumnType("deity_fonts")
.HasColumnName("fonts")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Тип божественной силы");
b.Property<DeitySanctification>("Sanctification")
.HasColumnType("deity_sanctification")
.HasColumnName("sanctification")
.HasColumnOrder(4);
.HasColumnOrder(4)
.HasComment("Тип освящения");
b.Property<bool>("SanctificationMust")
.HasColumnType("boolean")
.HasColumnName("sanctification_must")
.HasColumnOrder(5);
.HasColumnOrder(5)
.HasComment("Обязательное освящение");
b.HasKey("Id")
.HasName("pk_deities");
@@ -1123,22 +1170,26 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<int?>("Actions")
.HasColumnType("integer")
.HasColumnName("actions")
.HasColumnOrder(5);
.HasColumnOrder(5)
.HasComment("Количество действий");
b.Property<ActionCategory>("Category")
.HasColumnType("action_category")
b.Property<FeatCategory>("Category")
.HasColumnType("feat_category")
.HasColumnName("category")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Категория способности");
b.Property<string>("Extra")
.HasColumnType("text")
.HasColumnName("extra")
.HasColumnOrder(10);
.HasColumnOrder(10)
.HasComment("Дополнительная информация");
b.Property<bool>("IsFreeAction")
.HasColumnType("boolean")
@@ -1158,7 +1209,8 @@ namespace Pf2eModel.Migrations
b.Property<int>("Level")
.HasColumnType("integer")
.HasColumnName("level")
.HasColumnOrder(4);
.HasColumnOrder(4)
.HasComment("Уровень способности");
b.Property<int?>("MaxActions")
.HasColumnType("integer")
@@ -1207,12 +1259,14 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<int?>("AncestryId")
.HasColumnType("integer")
.HasColumnName("ancestry_id")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Идентификатор родословной");
b.HasKey("Id")
.HasName("pk_heritages");
@@ -1226,12 +1280,10 @@ namespace Pf2eModel.Migrations
modelBuilder.Entity("Pf2eModel.Model.Structure.Language", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<int>("EntityId")
.HasColumnType("integer")
@@ -1251,7 +1303,8 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<int>("CastTime")
.HasColumnType("integer")
@@ -1262,7 +1315,8 @@ namespace Pf2eModel.Migrations
b.Property<string>("Cost")
.HasColumnType("jsonb")
.HasColumnName("cost")
.HasColumnOrder(14);
.HasColumnOrder(14)
.HasComment("Стоимость ритуала");
b.Property<int>("Duration")
.HasColumnType("integer")
@@ -1270,61 +1324,72 @@ namespace Pf2eModel.Migrations
.HasColumnOrder(4)
.HasComment("Время действия эффекта ритуала в секундах");
b.PrimitiveCollection<int[]>("Elements")
b.PrimitiveCollection<ElementEnum[]>("Elements")
.IsRequired()
.HasColumnType("integer[]")
.HasColumnType("element_enum[]")
.HasColumnName("elements")
.HasColumnOrder(5);
.HasColumnOrder(5)
.HasComment("Элементы ритуала");
b.Property<int>("Level")
.HasColumnType("integer")
.HasColumnName("level")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Уровень ритуала");
b.Property<TrainingRank>("PrimaryCheckRank")
.HasColumnType("training_rank")
.HasColumnName("primary_check_rank")
.HasColumnOrder(7);
.HasColumnOrder(7)
.HasComment("Ранг основной проверки");
b.Property<string>("PrimaryCheckSuffix")
.HasColumnType("jsonb")
.HasColumnName("primary_check_suffix")
.HasColumnOrder(8);
.HasColumnOrder(8)
.HasComment("Дополнительная информация об основной проверки");
b.Property<int>("Range")
.HasColumnType("integer")
.HasColumnName("range")
.HasColumnOrder(6);
.HasColumnOrder(6)
.HasComment("Дальнность ритуала");
b.Property<string>("RangeString")
.HasColumnType("jsonb")
.HasColumnName("range_string")
.HasColumnOrder(12);
.HasColumnOrder(12)
.HasComment("Дальность ритуала");
b.Property<string>("Requirement")
.HasColumnType("jsonb")
.HasColumnName("requirement")
.HasColumnOrder(15);
.HasColumnOrder(15)
.HasComment("Требования к ритуалу");
b.Property<int>("SecondaryCasters")
.HasColumnType("integer")
.HasColumnName("secondary_casters")
.HasColumnOrder(9);
.HasColumnOrder(9)
.HasComment("Количество дополнительных заклинателей");
b.Property<int>("SecondaryCastersMax")
.HasColumnType("integer")
.HasColumnName("secondary_casters_max")
.HasColumnOrder(10);
.HasColumnOrder(10)
.HasComment("Максимальное количество дополнительных заклинателей");
b.Property<string>("SecondaryCastersSuffix")
.HasColumnType("jsonb")
.HasColumnName("secondary_casters_suffix")
.HasColumnOrder(11);
.HasColumnOrder(11)
.HasComment("Дополнительная информация о дополнительных заклинателях");
b.Property<string>("Target")
.HasColumnType("jsonb")
.HasColumnName("target")
.HasColumnOrder(13);
.HasColumnOrder(13)
.HasComment("Цель ритуала");
b.HasKey("Id")
.HasName("pk_rituals");
@@ -1408,7 +1473,8 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.PrimitiveCollection<string[]>("Breadcrumbs")
.IsRequired()
@@ -1418,12 +1484,14 @@ namespace Pf2eModel.Migrations
b.Property<int>("Order")
.HasColumnType("integer")
.HasColumnName("order")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Порядок отображения");
b.Property<int?>("ParentId")
.HasColumnType("integer")
.HasColumnName("parent_id")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Родительского правило");
b.HasKey("Id")
.HasName("pk_rules");
@@ -1439,34 +1507,40 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<ActionEnum>("Actions")
.HasColumnType("action_enum")
.HasColumnName("actions")
.HasColumnOrder(4);
.HasColumnOrder(4)
.HasComment("Количество действий");
b.Property<string>("Cost")
.HasColumnType("jsonb")
.HasColumnName("cost")
.HasColumnOrder(11);
.HasColumnOrder(11)
.HasComment("Стоимость заклинания");
b.Property<int?>("Duration")
.HasMaxLength(255)
.HasColumnType("integer")
.HasColumnName("duration")
.HasColumnOrder(5);
.HasColumnOrder(5)
.HasComment("Время длительности заклинания");
b.PrimitiveCollection<int[]>("Elements")
b.PrimitiveCollection<ElementEnum[]>("Elements")
.IsRequired()
.HasColumnType("integer[]")
.HasColumnType("element_enum[]")
.HasColumnName("elements")
.HasColumnOrder(8);
.HasColumnOrder(8)
.HasComment("Элементы заклинания");
b.Property<bool>("IsFocus")
.HasColumnType("boolean")
.HasColumnName("is_focus")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Фокус?");
b.Property<int>("Level")
.HasColumnType("integer")
@@ -1476,28 +1550,33 @@ namespace Pf2eModel.Migrations
b.Property<int>("Range")
.HasColumnType("integer")
.HasColumnName("range")
.HasColumnOrder(6);
.HasColumnOrder(6)
.HasComment("Дальность заклинания");
b.Property<string>("Requirement")
.HasColumnType("jsonb")
.HasColumnName("requirement")
.HasColumnOrder(12);
.HasColumnOrder(12)
.HasComment("Требования к заклинанию");
b.Property<string>("Target")
.HasColumnType("jsonb")
.HasColumnName("target")
.HasColumnOrder(10);
.HasColumnOrder(10)
.HasComment("Цель заклинания");
b.PrimitiveCollection<SpellTradition[]>("Traditions")
.IsRequired()
.HasColumnType("spell_tradition[]")
.HasColumnName("traditions")
.HasColumnOrder(7);
.HasColumnOrder(7)
.HasComment("Традиции заклинания");
b.Property<string>("Trigger")
.HasColumnType("jsonb")
.HasColumnName("trigger")
.HasColumnOrder(9);
.HasColumnOrder(9)
.HasComment("Триггер заклинания");
b.HasKey("Id")
.HasName("pk_spells");
@@ -1652,13 +1731,15 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<string>("Additional")
.IsRequired()
.HasColumnType("jsonb")
.HasColumnName("additional")
.HasColumnOrder(3);
.HasColumnOrder(3)
.HasComment("Дополнительная информация");
b.Property<string>("Extra")
.IsRequired()
@@ -1669,7 +1750,8 @@ namespace Pf2eModel.Migrations
b.Property<int>("GroupId")
.HasColumnType("integer")
.HasColumnName("group_id")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Группа подклассов");
b.HasKey("Id")
.HasName("pk_subclasses");
@@ -1685,12 +1767,14 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<int?>("ClassId")
.HasColumnType("integer")
.HasColumnName("class_id")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Идентификатор класса");
b.HasKey("Id")
.HasName("pk_subclass_groups");
@@ -1706,12 +1790,14 @@ namespace Pf2eModel.Migrations
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1);
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<TraitType>("Type")
.HasColumnType("trait_type")
.HasColumnName("type")
.HasColumnOrder(2);
.HasColumnOrder(2)
.HasComment("Тип признака");
b.HasKey("Id")
.HasName("pk_traits");