// using System; using DD.Persistence.Database.Model; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable namespace DD.Persistence.Database.Postgres.Migrations { [DbContext(typeof(PersistencePostgresContext))] [Migration("20250116093615_Init")] partial class Init { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "9.0.0") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("DD.Persistence.Database.Entity.DataSourceSystem", b => { b.Property("SystemId") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasComment("Id системы - источника данных"); b.Property("Description") .HasColumnType("text") .HasComment("Описание системы - источника данных"); b.Property("Name") .IsRequired() .HasColumnType("varchar(256)") .HasComment("Наименование системы - источника данных"); b.HasKey("SystemId"); b.ToTable("DataSourceSystem"); }); modelBuilder.Entity("DD.Persistence.Database.Entity.ParameterData", b => { b.Property("DiscriminatorId") .HasColumnType("uuid") .HasComment("Дискриминатор системы"); b.Property("ParameterId") .HasColumnType("integer") .HasComment("Id параметра"); b.Property("Timestamp") .HasColumnType("timestamp with time zone") .HasComment("Временная отметка"); b.Property("Value") .IsRequired() .HasColumnType("varchar(256)") .HasComment("Значение параметра в виде строки"); b.HasKey("DiscriminatorId", "ParameterId", "Timestamp"); b.ToTable("ParameterData"); }); modelBuilder.Entity("DD.Persistence.Database.Entity.TechMessage", b => { b.Property("EventId") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasComment("Id события"); b.Property("CategoryId") .HasColumnType("integer") .HasComment("Id Категории важности"); b.Property("EventState") .HasColumnType("integer") .HasComment("Статус события"); b.Property("SystemId") .HasColumnType("uuid") .HasComment("Id системы, к которой относится сообщение"); b.Property("Text") .IsRequired() .HasColumnType("varchar(512)") .HasComment("Текст сообщения"); b.Property("Timestamp") .HasColumnType("timestamp with time zone") .HasComment("Дата возникновения"); b.HasKey("EventId"); b.HasIndex("SystemId"); b.ToTable("TechMessage"); }); modelBuilder.Entity("DD.Persistence.Database.Entity.TimestampedValues", b => { b.Property("DiscriminatorId") .HasColumnType("uuid") .HasComment("Дискриминатор системы"); b.Property("Timestamp") .HasColumnType("timestamp with time zone") .HasComment("Временная отметка"); b.Property("Values") .IsRequired() .HasColumnType("jsonb") .HasComment("Данные"); b.HasKey("DiscriminatorId", "Timestamp"); b.ToTable("TimestampedValues"); }); modelBuilder.Entity("DD.Persistence.Database.Entity.ValuesIdentity", b => { b.Property("DiscriminatorId") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasComment("Дискриминатор системы"); b.Property("Identity") .IsRequired() .HasColumnType("jsonb") .HasComment("Идентификаторы"); b.HasKey("DiscriminatorId"); b.ToTable("ValuesIdentities"); }); modelBuilder.Entity("DD.Persistence.Database.Model.ChangeLog", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasComment("Ключ записи"); b.Property("Creation") .HasColumnType("timestamp with time zone") .HasComment("Дата создания записи"); b.Property("DepthEnd") .HasColumnType("double precision") .HasComment("Глубина забоя на дату окончания интервала"); b.Property("DepthStart") .HasColumnType("double precision") .HasComment("Глубина забоя на дату начала интервала"); b.Property("IdAuthor") .HasColumnType("uuid") .HasComment("Автор изменения"); b.Property("IdDiscriminator") .HasColumnType("uuid") .HasComment("Дискриминатор таблицы"); b.Property("IdEditor") .HasColumnType("uuid") .HasComment("Редактор"); b.Property("IdNext") .HasColumnType("uuid") .HasComment("Id заменяющей записи"); b.Property("IdSection") .HasColumnType("uuid") .HasComment("Ключ секции"); b.Property("Obsolete") .HasColumnType("timestamp with time zone") .HasComment("Дата устаревания (например при удалении)"); b.Property("Value") .IsRequired() .HasColumnType("jsonb") .HasComment("Значение"); b.HasKey("Id"); b.ToTable("ChangeLog"); }); modelBuilder.Entity("DD.Persistence.Database.Model.Setpoint", b => { b.Property("Key") .HasColumnType("uuid") .HasComment("Ключ"); b.Property("Timestamp") .HasColumnType("timestamp with time zone") .HasComment("Дата создания уставки"); b.Property("IdUser") .HasColumnType("uuid") .HasComment("Id автора последнего изменения"); b.Property("Value") .IsRequired() .HasColumnType("jsonb") .HasComment("Значение уставки"); b.HasKey("Key", "Timestamp"); b.ToTable("Setpoint"); }); modelBuilder.Entity("DD.Persistence.Database.Entity.TechMessage", b => { b.HasOne("DD.Persistence.Database.Entity.DataSourceSystem", "System") .WithMany() .HasForeignKey("SystemId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("System"); }); modelBuilder.Entity("DD.Persistence.Database.Entity.TimestampedValues", b => { b.HasOne("DD.Persistence.Database.Entity.ValuesIdentity", "ValuesIdentity") .WithMany() .HasForeignKey("DiscriminatorId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("ValuesIdentity"); }); #pragma warning restore 612, 618 } } }