diff options
| -rw-r--r-- | Migrations/20241106012338_Bart.Designer.cs | 307 | ||||
| -rw-r--r-- | Migrations/20241106012338_Bart.cs | 95 | ||||
| -rw-r--r-- | Migrations/PagerContextModelSnapshot.cs | 85 |
3 files changed, 487 insertions, 0 deletions
diff --git a/Migrations/20241106012338_Bart.Designer.cs b/Migrations/20241106012338_Bart.Designer.cs new file mode 100644 index 0000000..15acd57 --- /dev/null +++ b/Migrations/20241106012338_Bart.Designer.cs @@ -0,0 +1,307 @@ +// <auto-generated /> +using System; +using System.Collections.Generic; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; +using PagerParser; + +#nullable disable + +namespace PagerParser.Migrations +{ + [DbContext(typeof(PagerContext))] + [Migration("20241106012338_Bart")] + partial class Bart + { + /// <inheritdoc /> + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.8") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("PagerParser.Bart.BartAvailabilityRecord", b => + { + b.Property<int>("BartAvailabilityRecordId") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("BartAvailabilityRecordId")); + + b.Property<int?>("CreatedByBartMemberId") + .HasColumnType("integer"); + + b.Property<DateTime?>("CreatedOn") + .HasColumnType("timestamp with time zone"); + + b.Property<bool>("IsDefault") + .HasColumnType("boolean"); + + b.Property<int>("MemberBartMemberId") + .HasColumnType("integer"); + + b.Property<int?>("ModifiedByBartMemberId") + .HasColumnType("integer"); + + b.Property<DateTime?>("ModifiedOn") + .HasColumnType("timestamp with time zone"); + + b.Property<int>("Status") + .HasColumnType("integer"); + + b.Property<DateTime>("Timestamp") + .HasColumnType("timestamp with time zone"); + + b.HasKey("BartAvailabilityRecordId"); + + b.HasIndex("CreatedByBartMemberId"); + + b.HasIndex("MemberBartMemberId"); + + b.HasIndex("ModifiedByBartMemberId"); + + b.ToTable("BartAvailabilityRecords"); + }); + + modelBuilder.Entity("PagerParser.Bart.BartMember", b => + { + b.Property<int>("BartMemberId") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("BartMemberId")); + + b.Property<string>("MemberName") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("BartMemberId"); + + b.HasIndex("MemberName"); + + b.ToTable("BartMembers"); + }); + + modelBuilder.Entity("PagerParser.GpsPosition", b => + { + b.Property<int>("GpsPositionId") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("GpsPositionId")); + + b.Property<double>("Latitude") + .HasColumnType("double precision"); + + b.Property<double>("Longitude") + .HasColumnType("double precision"); + + b.HasKey("GpsPositionId"); + + b.ToTable("GpsPositions"); + }); + + modelBuilder.Entity("PagerParser.Handlers.DiscordAlertChannel", b => + { + b.Property<int>("DiscordAlertChannelId") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("DiscordAlertChannelId")); + + b.Property<decimal>("ChannelId") + .HasColumnType("numeric(20,0)"); + + b.Property<decimal>("GuildId") + .HasColumnType("numeric(20,0)"); + + b.Property<bool>("RequireMention") + .HasColumnType("boolean"); + + b.HasKey("DiscordAlertChannelId"); + + b.HasIndex("GuildId") + .IsUnique(); + + b.ToTable("DiscordAlertChannels"); + }); + + modelBuilder.Entity("PagerParser.Handlers.DiscordAlertSubscription", b => + { + b.Property<int>("DiscordAlertSubscriptionId") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("DiscordAlertSubscriptionId")); + + b.Property<decimal>("GuildId") + .HasColumnType("numeric(20,0)"); + + b.Property<string>("PageDestination") + .IsRequired() + .HasColumnType("text"); + + b.Property<decimal>("PrincipalId") + .HasColumnType("numeric(20,0)"); + + b.Property<int>("PrincipalType") + .HasColumnType("integer"); + + b.HasKey("DiscordAlertSubscriptionId"); + + b.HasIndex("GuildId"); + + b.ToTable("DiscordAlertSubscriptions"); + }); + + modelBuilder.Entity("PagerParser.PagerMessage", b => + { + b.Property<int>("PagerMessageId") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("PagerMessageId")); + + b.Property<string>("Message") + .IsRequired() + .HasColumnType("text"); + + b.Property<DateTime>("Timestamp") + .HasColumnType("timestamp with time zone"); + + b.HasKey("PagerMessageId"); + + b.HasIndex("Message"); + + b.ToTable("PagerMessages"); + }); + + modelBuilder.Entity("PagerParser.ParsedPagerMessage", b => + { + b.Property<int>("ParsedPagerMessageId") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("ParsedPagerMessageId")); + + b.Property<int>("AlertLevel") + .HasColumnType("integer"); + + b.Property<string>("AssignmentArea") + .IsRequired() + .HasColumnType("text"); + + b.Property<int>("AttendingServices") + .HasColumnType("integer"); + + b.Property<string>("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property<int?>("FireGroundChannel") + .HasColumnType("integer"); + + b.Property<int>("FirecomJobNo") + .HasColumnType("integer"); + + b.Property<int?>("GpsPositionId") + .HasColumnType("integer"); + + b.Property<int?>("GridReference") + .HasColumnType("integer"); + + b.Property<string>("JobType") + .IsRequired() + .HasColumnType("text"); + + b.Property<string>("MapGrid") + .HasColumnType("text"); + + b.Property<int?>("MapNo") + .HasColumnType("integer"); + + b.Property<int?>("MapType") + .HasColumnType("integer"); + + b.Property<string>("Note") + .HasColumnType("text"); + + b.Property<string>("PageDestination") + .IsRequired() + .HasColumnType("text"); + + b.Property<List<string>>("PagedServices") + .IsRequired() + .HasColumnType("text[]"); + + b.Property<int>("PagerMessage") + .HasColumnType("integer"); + + b.HasKey("ParsedPagerMessageId"); + + b.HasIndex("FirecomJobNo"); + + b.HasIndex("GpsPositionId"); + + b.HasIndex("PageDestination"); + + b.HasIndex("PagerMessage") + .IsUnique(); + + b.ToTable("ParsedPagerMessages"); + }); + + modelBuilder.Entity("PagerParser.Bart.BartAvailabilityRecord", b => + { + b.HasOne("PagerParser.Bart.BartMember", "CreatedBy") + .WithMany() + .HasForeignKey("CreatedByBartMemberId"); + + b.HasOne("PagerParser.Bart.BartMember", "Member") + .WithMany() + .HasForeignKey("MemberBartMemberId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("PagerParser.Bart.BartMember", "ModifiedBy") + .WithMany() + .HasForeignKey("ModifiedByBartMemberId"); + + b.Navigation("CreatedBy"); + + b.Navigation("Member"); + + b.Navigation("ModifiedBy"); + }); + + modelBuilder.Entity("PagerParser.ParsedPagerMessage", b => + { + b.HasOne("PagerParser.GpsPosition", "GpsPosition") + .WithMany() + .HasForeignKey("GpsPositionId"); + + b.HasOne("PagerParser.PagerMessage", "OriginalMessage") + .WithOne("ParsedMessage") + .HasForeignKey("PagerParser.ParsedPagerMessage", "PagerMessage") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("GpsPosition"); + + b.Navigation("OriginalMessage"); + }); + + modelBuilder.Entity("PagerParser.PagerMessage", b => + { + b.Navigation("ParsedMessage"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Migrations/20241106012338_Bart.cs b/Migrations/20241106012338_Bart.cs new file mode 100644 index 0000000..8174579 --- /dev/null +++ b/Migrations/20241106012338_Bart.cs @@ -0,0 +1,95 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace PagerParser.Migrations +{ + /// <inheritdoc /> + public partial class Bart : Migration + { + /// <inheritdoc /> + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "BartMembers", + columns: table => new + { + BartMemberId = table.Column<int>(type: "integer", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + MemberName = table.Column<string>(type: "text", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_BartMembers", x => x.BartMemberId); + }); + + migrationBuilder.CreateTable( + name: "BartAvailabilityRecords", + columns: table => new + { + BartAvailabilityRecordId = table.Column<int>(type: "integer", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + Timestamp = table.Column<DateTime>(type: "timestamp with time zone", nullable: false), + MemberBartMemberId = table.Column<int>(type: "integer", nullable: false), + Status = table.Column<int>(type: "integer", nullable: false), + IsDefault = table.Column<bool>(type: "boolean", nullable: false), + ModifiedOn = table.Column<DateTime>(type: "timestamp with time zone", nullable: true), + ModifiedByBartMemberId = table.Column<int>(type: "integer", nullable: true), + CreatedOn = table.Column<DateTime>(type: "timestamp with time zone", nullable: true), + CreatedByBartMemberId = table.Column<int>(type: "integer", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_BartAvailabilityRecords", x => x.BartAvailabilityRecordId); + table.ForeignKey( + name: "FK_BartAvailabilityRecords_BartMembers_CreatedByBartMemberId", + column: x => x.CreatedByBartMemberId, + principalTable: "BartMembers", + principalColumn: "BartMemberId"); + table.ForeignKey( + name: "FK_BartAvailabilityRecords_BartMembers_MemberBartMemberId", + column: x => x.MemberBartMemberId, + principalTable: "BartMembers", + principalColumn: "BartMemberId", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_BartAvailabilityRecords_BartMembers_ModifiedByBartMemberId", + column: x => x.ModifiedByBartMemberId, + principalTable: "BartMembers", + principalColumn: "BartMemberId"); + }); + + migrationBuilder.CreateIndex( + name: "IX_BartAvailabilityRecords_CreatedByBartMemberId", + table: "BartAvailabilityRecords", + column: "CreatedByBartMemberId"); + + migrationBuilder.CreateIndex( + name: "IX_BartAvailabilityRecords_MemberBartMemberId", + table: "BartAvailabilityRecords", + column: "MemberBartMemberId"); + + migrationBuilder.CreateIndex( + name: "IX_BartAvailabilityRecords_ModifiedByBartMemberId", + table: "BartAvailabilityRecords", + column: "ModifiedByBartMemberId"); + + migrationBuilder.CreateIndex( + name: "IX_BartMembers_MemberName", + table: "BartMembers", + column: "MemberName"); + } + + /// <inheritdoc /> + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "BartAvailabilityRecords"); + + migrationBuilder.DropTable( + name: "BartMembers"); + } + } +} diff --git a/Migrations/PagerContextModelSnapshot.cs b/Migrations/PagerContextModelSnapshot.cs index 4ff5dc3..1d86420 100644 --- a/Migrations/PagerContextModelSnapshot.cs +++ b/Migrations/PagerContextModelSnapshot.cs @@ -23,6 +23,68 @@ namespace PagerParser.Migrations NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + modelBuilder.Entity("PagerParser.Bart.BartAvailabilityRecord", b => + { + b.Property<int>("BartAvailabilityRecordId") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("BartAvailabilityRecordId")); + + b.Property<int?>("CreatedByBartMemberId") + .HasColumnType("integer"); + + b.Property<DateTime?>("CreatedOn") + .HasColumnType("timestamp with time zone"); + + b.Property<bool>("IsDefault") + .HasColumnType("boolean"); + + b.Property<int>("MemberBartMemberId") + .HasColumnType("integer"); + + b.Property<int?>("ModifiedByBartMemberId") + .HasColumnType("integer"); + + b.Property<DateTime?>("ModifiedOn") + .HasColumnType("timestamp with time zone"); + + b.Property<int>("Status") + .HasColumnType("integer"); + + b.Property<DateTime>("Timestamp") + .HasColumnType("timestamp with time zone"); + + b.HasKey("BartAvailabilityRecordId"); + + b.HasIndex("CreatedByBartMemberId"); + + b.HasIndex("MemberBartMemberId"); + + b.HasIndex("ModifiedByBartMemberId"); + + b.ToTable("BartAvailabilityRecords"); + }); + + modelBuilder.Entity("PagerParser.Bart.BartMember", b => + { + b.Property<int>("BartMemberId") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("BartMemberId")); + + b.Property<string>("MemberName") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("BartMemberId"); + + b.HasIndex("MemberName"); + + b.ToTable("BartMembers"); + }); + modelBuilder.Entity("PagerParser.GpsPosition", b => { b.Property<int>("GpsPositionId") @@ -192,6 +254,29 @@ namespace PagerParser.Migrations b.ToTable("ParsedPagerMessages"); }); + modelBuilder.Entity("PagerParser.Bart.BartAvailabilityRecord", b => + { + b.HasOne("PagerParser.Bart.BartMember", "CreatedBy") + .WithMany() + .HasForeignKey("CreatedByBartMemberId"); + + b.HasOne("PagerParser.Bart.BartMember", "Member") + .WithMany() + .HasForeignKey("MemberBartMemberId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("PagerParser.Bart.BartMember", "ModifiedBy") + .WithMany() + .HasForeignKey("ModifiedByBartMemberId"); + + b.Navigation("CreatedBy"); + + b.Navigation("Member"); + + b.Navigation("ModifiedBy"); + }); + modelBuilder.Entity("PagerParser.ParsedPagerMessage", b => { b.HasOne("PagerParser.GpsPosition", "GpsPosition") |
