Merge remote-tracking branch 'origin/dev2' into dev

This commit is contained in:
2025-09-15 09:48:54 +04:00
87 changed files with 6607 additions and 145 deletions
+124 -31
View File
@@ -19,12 +19,12 @@ namespace Pf2eModel.Migrations
.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:deity_type", "covenant,deity,pantheon,philosophy")
.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:entity_type", "action,ancestry,archetype,background,backpack,campaign_feature,class,condition,deity,domain,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,other,russian")
.Annotation("Npgsql:Enum:size_enum", "huge,large,medium,small,tiny")
@@ -34,7 +34,7 @@ namespace Pf2eModel.Migrations
.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:trait_type", "alignment,class,regular,tradition")
.Annotation("Npgsql:Enum:vision_enum", "dark-vision,low-light-vision,normal");
migrationBuilder.CreateTable(
@@ -195,7 +195,7 @@ namespace Pf2eModel.Migrations
{
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: "Заклинатель?"),
spellcasting = table.Column<int>(type: "integer", nullable: false, comment: "Тип заклинательства"),
tradition = table.Column<SpellTradition>(type: "spell_tradition", nullable: true, comment: "Традиция заклинаний"),
additional_trained_skills = table.Column<int>(type: "integer", nullable: false, comment: "Дополнительные навыки")
},
@@ -234,10 +234,16 @@ namespace Pf2eModel.Migrations
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор"),
category = table.Column<DeityCategory>(type: "deity_category", nullable: false, comment: "Тип божества"),
type = table.Column<DeityType>(type: "deity_type", nullable: false, comment: "Тип божества"),
category = table.Column<string>(type: "text", 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: "Обязательное освящение")
sanctification_must = table.Column<bool>(type: "boolean", nullable: false, comment: "Обязательное освящение"),
edicts = table.Column<string>(type: "jsonb", nullable: false, comment: "Заветы божества"),
anathema = table.Column<string>(type: "jsonb", nullable: false, comment: "Анафемы божества"),
religious_symbol = table.Column<string>(type: "jsonb", nullable: false, comment: "Религиозный символ божества"),
sacred_animal = table.Column<string>(type: "jsonb", nullable: false, comment: "Священное животное божества"),
area_of_concern = table.Column<string>(type: "jsonb", nullable: false, comment: "Область покровительства божества")
},
constraints: table =>
{
@@ -778,12 +784,14 @@ namespace Pf2eModel.Migrations
name: "deity_attributes",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор")
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
deity_id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор божества"),
attribute = table.Column<AttributeValues>(type: "attribute_values", nullable: false, comment: "Атрибут божества")
},
constraints: table =>
{
table.PrimaryKey("pk_deity_attributes", x => new { x.deity_id, x.attribute });
table.PrimaryKey("pk_deity_attributes", x => x.id);
table.ForeignKey(
name: "fk_deity_attributes_deities_deity_id",
column: x => x.deity_id,
@@ -792,27 +800,6 @@ namespace Pf2eModel.Migrations
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "deity_domains",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор")
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
deity_id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор божества"),
is_primary = table.Column<bool>(type: "boolean", nullable: false, comment: "Флаг основного домена"),
value = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false)
},
constraints: table =>
{
table.PrimaryKey("pk_deity_domains", x => x.id);
table.ForeignKey(
name: "fk_deity_domains_deities_deity_id",
column: x => x.deity_id,
principalTable: "deities",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "deity_training",
columns: table => new
@@ -1003,6 +990,51 @@ namespace Pf2eModel.Migrations
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "domains",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор"),
domain_spell_id = table.Column<int>(type: "integer", nullable: false, comment: "Заклинание домена"),
advanced_domain_spell_id = table.Column<int>(type: "integer", nullable: false, comment: "Продвинутое заклинание домена"),
apocryphal_spell_id = table.Column<int>(type: "integer", nullable: true, comment: "Апокрифическое заклинание домена"),
advanced_apocryphal_spell_id = table.Column<int>(type: "integer", nullable: true, comment: "Продвинутое апокрифическое заклинание домена")
},
constraints: table =>
{
table.PrimaryKey("pk_domains", x => x.id);
table.ForeignKey(
name: "fk_domains_entities_id",
column: x => x.id,
principalTable: "entities",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "fk_domains_spells_advanced_apocryphal_spell_id",
column: x => x.advanced_apocryphal_spell_id,
principalTable: "spells",
principalColumn: "id",
onDelete: ReferentialAction.SetNull);
table.ForeignKey(
name: "fk_domains_spells_advanced_domain_spell_id",
column: x => x.advanced_domain_spell_id,
principalTable: "spells",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "fk_domains_spells_apocryphal_spell_id",
column: x => x.apocryphal_spell_id,
principalTable: "spells",
principalColumn: "id",
onDelete: ReferentialAction.SetNull);
table.ForeignKey(
name: "fk_domains_spells_domain_spell_id",
column: x => x.domain_spell_id,
principalTable: "spells",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "spell_areas",
columns: table => new
@@ -1146,6 +1178,34 @@ namespace Pf2eModel.Migrations
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "deity_domains",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор")
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
deity_id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор божества"),
is_primary = table.Column<bool>(type: "boolean", nullable: false, comment: "Флаг основного домена"),
domain_id = table.Column<int>(type: "integer", nullable: false, comment: "Идентификатор домена"),
value = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false)
},
constraints: table =>
{
table.PrimaryKey("pk_deity_domains", x => x.id);
table.ForeignKey(
name: "fk_deity_domains_deities_deity_id",
column: x => x.deity_id,
principalTable: "deities",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "fk_deity_domains_domains_domain_id",
column: x => x.domain_id,
principalTable: "domains",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "subclass_provided_entities",
columns: table => new
@@ -1268,11 +1328,21 @@ namespace Pf2eModel.Migrations
table: "class_trainings",
column: "training_id");
migrationBuilder.CreateIndex(
name: "ix_deity_attributes_deity_id",
table: "deity_attributes",
column: "deity_id");
migrationBuilder.CreateIndex(
name: "ix_deity_domains_deity_id",
table: "deity_domains",
column: "deity_id");
migrationBuilder.CreateIndex(
name: "ix_deity_domains_domain_id",
table: "deity_domains",
column: "domain_id");
migrationBuilder.CreateIndex(
name: "ix_deity_spells_deity_id",
table: "deity_spells",
@@ -1293,6 +1363,26 @@ namespace Pf2eModel.Migrations
table: "deity_weapons",
column: "deity_id");
migrationBuilder.CreateIndex(
name: "ix_domains_advanced_apocryphal_spell_id",
table: "domains",
column: "advanced_apocryphal_spell_id");
migrationBuilder.CreateIndex(
name: "ix_domains_advanced_domain_spell_id",
table: "domains",
column: "advanced_domain_spell_id");
migrationBuilder.CreateIndex(
name: "ix_domains_apocryphal_spell_id",
table: "domains",
column: "apocryphal_spell_id");
migrationBuilder.CreateIndex(
name: "ix_domains_domain_spell_id",
table: "domains",
column: "domain_spell_id");
migrationBuilder.CreateIndex(
name: "ix_entity_aliases_entity_id",
table: "entity_aliases",
@@ -1521,6 +1611,9 @@ namespace Pf2eModel.Migrations
migrationBuilder.DropTable(
name: "backgrounds");
migrationBuilder.DropTable(
name: "domains");
migrationBuilder.DropTable(
name: "deities");
@@ -1542,9 +1635,6 @@ namespace Pf2eModel.Migrations
migrationBuilder.DropTable(
name: "rituals");
migrationBuilder.DropTable(
name: "spells");
migrationBuilder.DropTable(
name: "subclasses");
@@ -1554,6 +1644,9 @@ namespace Pf2eModel.Migrations
migrationBuilder.DropTable(
name: "feats");
migrationBuilder.DropTable(
name: "spells");
migrationBuilder.DropTable(
name: "subclass_groups");