// using System; using System.Collections.Generic; using AsbCloudDb.Model; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; namespace AsbCloudDb.Migrations { [DbContext(typeof(AsbCloudDbContext))] partial class AsbCloudDbContextModelSnapshot : ModelSnapshot { protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasPostgresExtension("adminpack") .HasAnnotation("Relational:Collation", "Russian_Russia.1251") .HasAnnotation("Relational:MaxIdentifierLength", 63) .HasAnnotation("ProductVersion", "5.0.10") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); modelBuilder.Entity("AsbCloudDb.Model.Cluster", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Caption") .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("caption") .HasComment("Название"); b.Property("IdDeposit") .HasColumnType("integer") .HasColumnName("id_deposit"); b.Property("Latitude") .HasColumnType("double precision") .HasColumnName("latitude"); b.Property("Longitude") .HasColumnType("double precision") .HasColumnName("longitude"); b.HasKey("Id"); b.HasIndex("IdDeposit"); b.ToTable("t_cluster"); b .HasComment("Кусты"); }); modelBuilder.Entity("AsbCloudDb.Model.Company", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Caption") .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("caption"); b.Property("IdCompanyType") .HasMaxLength(255) .HasColumnType("integer") .HasColumnName("id_company_type") .HasComment("вид деятельности"); b.HasKey("Id"); b.HasIndex("IdCompanyType"); b.ToTable("t_company"); b.HasData( new { Id = 1, Caption = "ООО \"АСБ\"", IdCompanyType = 3 }); }); modelBuilder.Entity("AsbCloudDb.Model.CompanyType", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Caption") .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("caption"); b.HasKey("Id"); b.ToTable("t_company_type"); b.HasData( new { Id = 1, Caption = "Недрапользователь" }, new { Id = 2, Caption = "Буровой подрядчик" }, new { Id = 3, Caption = "Сервис автоматизации бурения" }); }); modelBuilder.Entity("AsbCloudDb.Model.Deposit", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Caption") .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("caption"); b.Property("Latitude") .HasColumnType("double precision") .HasColumnName("latitude"); b.Property("Longitude") .HasColumnType("double precision") .HasColumnName("longitude"); b.HasKey("Id"); b.ToTable("t_deposit"); b .HasComment("Месторождение"); }); modelBuilder.Entity("AsbCloudDb.Model.DrillFlowChart", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("AxialLoadMax") .HasColumnType("double precision") .HasColumnName("axial_load_max") .HasComment("Максимальная нагрузка"); b.Property("AxialLoadMin") .HasColumnType("double precision") .HasColumnName("axial_load_min") .HasComment("Минимальная нагрузка"); b.Property("DepthEnd") .HasColumnType("double precision") .HasColumnName("depth_end") .HasComment("Глубина окончания интервала"); b.Property("DepthStart") .HasColumnType("double precision") .HasColumnName("depth_start") .HasComment("Стартовая глубина"); b.Property("FlowMax") .HasColumnType("double precision") .HasColumnName("flow_max") .HasComment("Максимальный расход"); b.Property("FlowMin") .HasColumnType("double precision") .HasColumnName("flow_min") .HasComment("Минимальный расход"); b.Property("IdWell") .HasColumnType("integer") .HasColumnName("well_id") .HasComment("Id скважины"); b.Property("IdWellOperationCategory") .HasColumnType("integer") .HasColumnName("id_operation_category") .HasComment("Id типа операции"); b.Property("LastUpdate") .HasColumnType("timestamp without time zone") .HasColumnName("last_update") .HasComment("Дата последнего изменения"); b.Property("PressureMax") .HasColumnType("double precision") .HasColumnName("pressure_max") .HasComment("Максимальное давление"); b.Property("PressureMin") .HasColumnType("double precision") .HasColumnName("pressure_min") .HasComment("Минимальное давление"); b.Property("RotorSpeedMax") .HasColumnType("double precision") .HasColumnName("rotor_speed_max") .HasComment("Максимальные обороты на ВСП"); b.Property("RotorSpeedMin") .HasColumnType("double precision") .HasColumnName("rotor_speed_min") .HasComment("Минимальные обороты на ВСП"); b.Property("RotorTorqueMax") .HasColumnType("double precision") .HasColumnName("rotor_torque_max") .HasComment("Максимальный момент на ВСП"); b.Property("RotorTorqueMin") .HasColumnType("double precision") .HasColumnName("rotor_torque_min") .HasComment("Минимальный момент на ВСП"); b.HasKey("Id"); b.HasIndex("IdWell"); b.HasIndex("IdWellOperationCategory"); b.ToTable("t_drill_flow_chart"); b .HasComment("Параметры корридоров бурения (диапазоны параметров бурения)"); }); modelBuilder.Entity("AsbCloudDb.Model.DrillParams", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("AxialLoadAvg") .HasColumnType("double precision") .HasColumnName("axial_load_avg") .HasComment("Средняя нагрузка"); b.Property("AxialLoadMax") .HasColumnType("double precision") .HasColumnName("axial_load_max") .HasComment("Максимальная нагрузка"); b.Property("AxialLoadMin") .HasColumnType("double precision") .HasColumnName("axial_load_min") .HasComment("Минимальная нагрузка"); b.Property("DepthEnd") .HasColumnType("double precision") .HasColumnName("depth_end") .HasComment("Глубина окончания интервала"); b.Property("DepthStart") .HasColumnType("double precision") .HasColumnName("depth_start") .HasComment("Стартовая глубина"); b.Property("FlowAvg") .HasColumnType("double precision") .HasColumnName("flow_avg") .HasComment("Средний расход"); b.Property("FlowMax") .HasColumnType("double precision") .HasColumnName("flow_max") .HasComment("Максимальный расход"); b.Property("FlowMin") .HasColumnType("double precision") .HasColumnName("flow_min") .HasComment("Минимальный расход"); b.Property("IdWell") .HasColumnType("integer") .HasColumnName("well_id") .HasComment("Id скважины"); b.Property("IdWellSectionType") .HasColumnType("integer") .HasColumnName("id_wellsection_type") .HasComment("Id с типом секции скважины"); b.Property("PressureAvg") .HasColumnType("double precision") .HasColumnName("pressure_avg") .HasComment("Среднее давление"); b.Property("PressureMax") .HasColumnType("double precision") .HasColumnName("pressure_max") .HasComment("Максимальное давление"); b.Property("PressureMin") .HasColumnType("double precision") .HasColumnName("pressure_min") .HasComment("Минимальное давление"); b.Property("RotorSpeedAvg") .HasColumnType("double precision") .HasColumnName("rotor_speed_avg") .HasComment("Средние обороты на ВСП"); b.Property("RotorSpeedMax") .HasColumnType("double precision") .HasColumnName("rotor_speed_max") .HasComment("Максимальные обороты на ВСП"); b.Property("RotorSpeedMin") .HasColumnType("double precision") .HasColumnName("rotor_speed_min") .HasComment("Минимальные обороты на ВСП"); b.Property("RotorTorqueAvg") .HasColumnType("double precision") .HasColumnName("rotor_torque_avg") .HasComment("Средний момент на ВСП"); b.Property("RotorTorqueMax") .HasColumnType("double precision") .HasColumnName("rotor_torque_max") .HasComment("Максимальный момент на ВСП"); b.Property("RotorTorqueMin") .HasColumnType("double precision") .HasColumnName("rotor_torque_min") .HasComment("Минимальный момент на ВСП"); b.HasKey("Id"); b.HasIndex("IdWell"); b.HasIndex("IdWellSectionType"); b.ToTable("t_drill_params"); b .HasComment("Режим бурения в секции (диапазоны параметров бурения)"); }); modelBuilder.Entity("AsbCloudDb.Model.FileCategory", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Name") .HasColumnType("text") .HasColumnName("name") .HasComment("Название категории"); b.Property("ShortName") .HasColumnType("text") .HasColumnName("short_name") .HasComment("Короткое название категории"); b.HasKey("Id"); b.ToTable("t_file_category"); b .HasComment("Категории файлов"); b.HasData( new { Id = 1, Name = "Растворный сервис", ShortName = "fluidService" }, new { Id = 2, Name = "Цементирование", ShortName = "cement" }, new { Id = 3, Name = "ННБ", ShortName = "nnb" }, new { Id = 4, Name = "ГТИ", ShortName = "gti" }, new { Id = 5, Name = "Документы по скважине", ShortName = "wellDocuments" }, new { Id = 6, Name = "Супервайзер", ShortName = "supervisor" }, new { Id = 7, Name = "Мастер", ShortName = "master" }, new { Id = 8, Name = "Последний замер бурового раствора ПЛАН", ShortName = "fluidPlanLastData" }, new { Id = 9, Name = "Последний замер бурового раствора ФАКТ", ShortName = "fluidFactLastData" }, new { Id = 10, Name = "Последние данные Шламограммы", ShortName = "mudLastData" }, new { Id = 11, Name = "Последние данные ННБ", ShortName = "nnbLastData" }, new { Id = 12, Name = "Рапорт", ShortName = "report" }, new { Id = 13, Name = "Программа бурения, части", ShortName = "ПБч" }, new { Id = 14, Name = "Программа бурения", ShortName = "ПБ" }); }); modelBuilder.Entity("AsbCloudDb.Model.FileInfo", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("IdAuthor") .HasColumnType("integer") .HasColumnName("id_author") .HasComment("Id пользователя, загрузившего файл"); b.Property("IdCategory") .HasColumnType("integer") .HasColumnName("id_category") .HasComment("id категории файла"); b.Property("IdWell") .HasColumnType("integer") .HasColumnName("id_well") .HasComment("id скважины"); b.Property("IsDeleted") .HasColumnType("boolean") .HasColumnName("is_deleted") .HasComment("Удален ли файл"); b.Property("Name") .HasColumnType("text") .HasColumnName("name") .HasComment("Название файла"); b.Property("PublishInfo") .HasColumnType("jsonb") .HasColumnName("publish_info") .HasComment("Информация о файле в облаке"); b.Property("Size") .HasColumnType("bigint") .HasColumnName("file_size") .HasComment("Размер файла"); b.Property("UploadDate") .HasColumnType("timestamp with time zone") .HasColumnName("date"); b.HasKey("Id"); b.HasIndex("IdAuthor"); b.HasIndex("IdCategory"); b.HasIndex("IdWell"); b.ToTable("t_file_info"); b .HasComment("Файлы всех категорий"); }); modelBuilder.Entity("AsbCloudDb.Model.Measure", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property>("Data") .HasColumnType("jsonb") .HasColumnName("data") .HasComment("Данные таблицы последних данных"); b.Property("IdCategory") .HasColumnType("integer") .HasColumnName("id_category") .HasComment("id категории"); b.Property("IdWell") .HasColumnType("integer") .HasColumnName("id_well") .HasComment("id скважины"); b.Property("IsDeleted") .HasColumnType("boolean") .HasColumnName("is_deleted") .HasComment("Пометка удаленным"); b.Property("Timestamp") .HasColumnType("timestamp without time zone") .HasColumnName("timestamp") .HasComment("время добавления"); b.HasKey("Id"); b.HasIndex("IdCategory"); b.HasIndex("IdWell"); b.ToTable("t_measure"); b .HasComment("Таблица c данными для вкладки 'Последние данные'"); }); modelBuilder.Entity("AsbCloudDb.Model.MeasureCategory", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Name") .HasColumnType("text") .HasColumnName("name") .HasComment("Название категории"); b.Property("ShortName") .HasColumnType("text") .HasColumnName("short_name") .HasComment("Короткое название категории"); b.HasKey("Id"); b.ToTable("t_measure_category"); b .HasComment("Категория последних данных"); b.HasData( new { Id = 1, Name = "Показатели бурового раствора", ShortName = "Раствор" }, new { Id = 2, Name = "Шламограмма", ShortName = "Шламограмма" }, new { Id = 3, Name = "ННБ", ShortName = "ННБ" }); }); modelBuilder.Entity("AsbCloudDb.Model.RelationCompanyWell", b => { b.Property("IdCompany") .HasColumnType("integer") .HasColumnName("id_company"); b.Property("IdWell") .HasColumnType("integer") .HasColumnName("id_well"); b.HasKey("IdCompany", "IdWell"); b.HasIndex("IdWell"); b.ToTable("t_relation_company_well"); b .HasComment("отношение скважин и компаний"); }); modelBuilder.Entity("AsbCloudDb.Model.ReportProperty", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Begin") .HasColumnType("timestamp with time zone") .HasColumnName("begin"); b.Property("End") .HasColumnType("timestamp with time zone") .HasColumnName("end") .HasComment("timestamp with time zone"); b.Property("Format") .HasColumnType("integer") .HasColumnName("format") .HasComment("Формат отчета"); b.Property("IdFile") .HasColumnType("integer") .HasColumnName("id_file") .HasComment("id файла-родителя"); b.Property("IdWell") .HasColumnType("integer") .HasColumnName("id_well") .HasComment("id скважины"); b.Property("Step") .HasColumnType("integer") .HasColumnName("step") .HasComment("размер шага в секундах"); b.HasKey("Id"); b.HasIndex("IdFile"); b.HasIndex("IdWell"); b.ToTable("t_report_property"); b .HasComment("Отчеты с данными по буровым"); }); modelBuilder.Entity("AsbCloudDb.Model.Telemetry", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Info") .HasColumnType("jsonb") .HasColumnName("info") .HasComment("Информация с панели о скважине"); b.Property("RemoteUid") .HasColumnType("text") .HasColumnName("remote_uid") .HasComment("Идентификатор передающего устройства. Может повторяться в списке, так как комплекты оборудования переезжают от скв. к скв."); b.HasKey("Id"); b.HasIndex(new[] { "RemoteUid" }, "t_telemetry_remote_uid_index"); b.ToTable("t_telemetry"); b .HasComment("таблица привязки телеметрии от комплектов к конкретной скважине."); }); modelBuilder.Entity("AsbCloudDb.Model.TelemetryAnalysis", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("DurationSec") .HasColumnType("integer") .HasColumnName("duration_sec") .HasComment("Кол-во секунд после предыдущей операции"); b.Property("IdOperation") .HasColumnType("integer") .HasColumnName("id_operation"); b.Property("IdTelemetry") .HasColumnType("integer") .HasColumnName("id_telemetry"); b.Property("IsBitPositionDecreasing") .HasColumnType("boolean") .HasColumnName("is_bit_position_decreasing") .HasComment("Долото поднимается"); b.Property("IsBitPositionIncreasing") .HasColumnType("boolean") .HasColumnName("is_bit_position_increasing") .HasComment("Долото спускается"); b.Property("IsBitPositionLt20") .HasColumnType("boolean") .HasColumnName("is_bit_posision_lt_20") .HasComment("Положение долота меньше 20м"); b.Property("IsBlockPositionDecreasing") .HasColumnType("boolean") .HasColumnName("is_block_posision_decresing") .HasComment("Талевый блок поднимается"); b.Property("IsBlockPositionIncreasing") .HasColumnType("boolean") .HasColumnName("is_block_posision_incresing") .HasComment("Талевый блок спускается"); b.Property("IsHookWeightLt3") .HasColumnType("boolean") .HasColumnName("is_hook_weight_lt_3") .HasComment("Вес на крюке менее 3т"); b.Property("IsHookWeightNotChanges") .HasColumnType("boolean") .HasColumnName("is_hook_weight_not_changes") .HasComment("Вес на крюке не меняется"); b.Property("IsPressureGt20") .HasColumnType("boolean") .HasColumnName("is_pressure_gt_20") .HasComment("Давоение более 20"); b.Property("IsPressureLt20") .HasColumnType("boolean") .HasColumnName("is_pressure_lt_20") .HasComment("Давление менее 20"); b.Property("IsRotorSpeedGt5") .HasColumnType("boolean") .HasColumnName("is_rotor_speed_gt_3") .HasComment("Обороты ротора выше 3"); b.Property("IsRotorSpeedLt5") .HasColumnType("boolean") .HasColumnName("is_rotor_speed_lt_3") .HasComment("Обороты ротора ниже 3"); b.Property("IsWellDepthDecreasing") .HasColumnType("boolean") .HasColumnName("is_well_depth_decreasing") .HasComment("Глубина забоя не увеличивается"); b.Property("IsWellDepthIncreasing") .HasColumnType("boolean") .HasColumnName("is_well_depth_increasing") .HasComment("Глубина забоя увеличивается"); b.Property("OperationEndDepth") .HasColumnType("double precision") .HasColumnName("operation_end_depth") .HasComment("Глубина, на которой закончилась операция"); b.Property("OperationStartDepth") .HasColumnType("double precision") .HasColumnName("operation_start_depth") .HasComment("Глубина, на которой началась операция"); b.Property("UnixDate") .HasColumnType("bigint") .HasColumnName("unix_date") .HasComment("Unix timestamp для Linq запросов с вычислением дат"); b.HasKey("Id"); b.HasIndex("IdOperation"); b.HasIndex("IdTelemetry"); b.ToTable("t_telemetry_analysis"); b .HasComment("События на скважине"); }); modelBuilder.Entity("AsbCloudDb.Model.TelemetryDataSaub", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("AxialLoad") .HasColumnType("double precision") .HasColumnName("axial_load") .HasComment("Осевая нагрузка"); b.Property("AxialLoadLimitMax") .HasColumnType("double precision") .HasColumnName("axial_load_limit_max") .HasComment("Осевая нагрузка. Аварийная макс."); b.Property("AxialLoadSp") .HasColumnType("double precision") .HasColumnName("axial_load_sp") .HasComment("Осевая нагрузка. Задание"); b.Property("BitDepth") .HasColumnType("double precision") .HasColumnName("bit_depth") .HasComment("Положение инструмента"); b.Property("BlockPosition") .HasColumnType("double precision") .HasColumnName("block_position") .HasComment("Высота талевого блока"); b.Property("BlockPositionMax") .HasColumnType("double precision") .HasColumnName("block_position_max") .HasComment("Талевый блок. Макс положение"); b.Property("BlockPositionMin") .HasColumnType("double precision") .HasColumnName("block_position_min") .HasComment("Талевый блок. Мин положение"); b.Property("BlockSpeed") .HasColumnType("double precision") .HasColumnName("block_speed") .HasComment("Скорость талевого блока"); b.Property("BlockSpeedSp") .HasColumnType("double precision") .HasColumnName("block_speed_sp") .HasComment("Скорости талевого блока. Задание"); b.Property("BlockSpeedSpDevelop") .HasColumnType("double precision") .HasColumnName("block_speed_sp_develop") .HasComment("Талевый блок. Задание скорости для проработки"); b.Property("BlockSpeedSpRotor") .HasColumnType("double precision") .HasColumnName("block_speed_sp_rotor") .HasComment("Талевый блок. Задание скорости для роторного бурения"); b.Property("BlockSpeedSpSlide") .HasColumnType("double precision") .HasColumnName("block_speed_sp_slide") .HasComment("Талевый блок. Задание скорости для режима слайда"); b.Property("Date") .HasColumnType("timestamp with time zone") .HasColumnName("date") .HasComment("'2021-10-19 18:23:54+05'"); b.Property("Flow") .HasColumnType("double precision") .HasColumnName("flow") .HasComment("Расход"); b.Property("FlowDeltaLimitMax") .HasColumnType("double precision") .HasColumnName("flow_delta_limit_max") .HasComment("Расход. Аварийный макс."); b.Property("FlowIdle") .HasColumnType("double precision") .HasColumnName("flow_idle") .HasComment("Расход. Холостой ход"); b.Property("HookWeight") .HasColumnType("double precision") .HasColumnName("hook_weight") .HasComment("Вес на крюке"); b.Property("HookWeightIdle") .HasColumnType("double precision") .HasColumnName("hook_weight_idle") .HasComment("Вес на крюке. Холостой ход"); b.Property("HookWeightLimitMax") .HasColumnType("double precision") .HasColumnName("hook_weight_limit_max") .HasComment("Вес на крюке. Затяжка"); b.Property("HookWeightLimitMin") .HasColumnType("double precision") .HasColumnName("hook_weight_limit_min") .HasComment("Вес на крюке. Посадка"); b.Property("IdFeedRegulator") .HasColumnType("double precision") .HasColumnName("id_feed_regulator") .HasComment("Текущий критерий бурения"); b.Property("IdTelemetry") .HasColumnType("integer") .HasColumnName("id_telemetry"); b.Property("IdUser") .HasColumnType("integer") .HasColumnName("id_user") .HasComment("Пользователь САУБ"); b.Property("Mode") .HasColumnType("integer") .HasColumnName("mode") .HasComment("Режим САУБ"); b.Property("MseState") .HasColumnType("double precision") .HasColumnName("mse_state") .HasComment("Текущее состояние работы MSE"); b.Property("Pressure") .HasColumnType("double precision") .HasColumnName("pressure") .HasComment("Давление"); b.Property("PressureDeltaLimitMax") .HasColumnType("double precision") .HasColumnName("pressure_delta_limit_max") .HasComment("Давление дифф. Аварийное макс."); b.Property("PressureIdle") .HasColumnType("double precision") .HasColumnName("pressure_idle") .HasComment("Давление. Холостой ход"); b.Property("PressureSp") .HasColumnType("double precision") .HasColumnName("pressure_sp") .HasComment("Давление. Задание"); b.Property("PressureSpDevelop") .HasColumnType("double precision") .HasColumnName("pressure_sp_develop") .HasComment("Давление. Задание для проработки"); b.Property("PressureSpRotor") .HasColumnType("double precision") .HasColumnName("pressure_sp_rotor") .HasComment("Давление. Задание для роторного бурения"); b.Property("PressureSpSlide") .HasColumnType("double precision") .HasColumnName("pressure_sp_slide") .HasComment("Давление. Задание для режима слайда"); b.Property("RotorSpeed") .HasColumnType("double precision") .HasColumnName("rotor_speed") .HasComment("Обороты ротора"); b.Property("RotorTorque") .HasColumnType("double precision") .HasColumnName("rotor_torque") .HasComment("Момент на роторе"); b.Property("RotorTorqueIdle") .HasColumnType("double precision") .HasColumnName("rotor_torque_idle") .HasComment("Момент на роторе. Холостой ход"); b.Property("RotorTorqueLimitMax") .HasColumnType("double precision") .HasColumnName("rotor_torque_limit_max") .HasComment("Момент на роторе. Аварийный макс."); b.Property("RotorTorqueSp") .HasColumnType("double precision") .HasColumnName("rotor_torque_sp") .HasComment("Момент на роторе. Задание"); b.Property("WellDepth") .HasColumnType("double precision") .HasColumnName("well_depth") .HasComment("Глубина забоя"); b.HasKey("Id"); b.HasIndex("IdTelemetry"); b.ToTable("t_telemetry_data_saub"); b .HasComment("набор основных данных по SAUB"); }); modelBuilder.Entity("AsbCloudDb.Model.TelemetryDataSpin", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("BreakAngleK") .HasColumnType("double precision") .HasColumnName("break_angle_k") .HasComment("Коэффициент для расчёта за какой угол нужно тормозить"); b.Property("BreakAngleLeft") .HasColumnType("double precision") .HasColumnName("break_angle_left") .HasComment("Угол торможения влево при работе по моменту"); b.Property("Date") .HasColumnType("timestamp with time zone") .HasColumnName("date") .HasComment("'2021-10-19 18:23:54+05'"); b.Property("EncoderResolution") .HasColumnType("double precision") .HasColumnName("encoder_resolution ") .HasComment(" Разрешение энкодера"); b.Property("IdTelemetry") .HasColumnType("integer") .HasColumnName("id_telemetry"); b.Property("Mode") .HasColumnType("integer") .HasColumnName("mode") .HasComment("Выбранный режим управления"); b.Property("PidMuxTorqueLeftLimit") .HasColumnType("double precision") .HasColumnName("pid_mux_torque_left_limit") .HasComment(" Момент при котором определяется ехать назад по моменту или по скорости"); b.Property("PositionRight") .HasColumnType("double precision") .HasColumnName("position_right") .HasComment("Крайний правый угол осциляции"); b.Property("PositionZero") .HasColumnType("double precision") .HasColumnName("position_zero") .HasComment("Нулевая позиция осциляции"); b.Property("Ratio") .HasColumnType("double precision") .HasColumnName("ratio") .HasComment(" Коэффициент редукции редектора"); b.Property("ReverseKTorque") .HasColumnType("double precision") .HasColumnName("reverse_k_torque") .HasComment("Коэффициент на который умножается момент, для того чтобы система поняла что мы движемся в обратную сторону"); b.Property("ReverseSpeedSpZeroTime") .HasColumnType("integer") .HasColumnName("reverse_speed_sp_zero_time") .HasComment("Время выдачи сигнала нулевой скорости на при смене направления"); b.Property("RevolsLeftLimit") .HasColumnType("double precision") .HasColumnName("revols_left_limit") .HasComment("Ограничение числа оборотов влево"); b.Property("RevolsLeftTotal") .HasColumnType("double precision") .HasColumnName("revols_left_total") .HasComment("Суммарное количество оборотов влево"); b.Property("RevolsRightLimit") .HasColumnType("double precision") .HasColumnName("revols_right_limit") .HasComment("Ограничение числа оборотов вправо"); b.Property("RevolsRightTotal") .HasColumnType("double precision") .HasColumnName("revols_right_total") .HasComment("Суммарное количество оборотов вправо"); b.Property("RotorTorqueAvg") .HasColumnType("double precision") .HasColumnName("rotor_torque_avg") .HasComment(" Момент в роторе средний"); b.Property("SpeedLeftSp") .HasColumnType("double precision") .HasColumnName("speed_left_sp") .HasComment("Заданная скорость вращения влево"); b.Property("SpeedRightSp") .HasColumnType("double precision") .HasColumnName("speed_right_sp") .HasComment("Заданная скорость вращения вправо"); b.Property("State") .HasColumnType("integer") .HasColumnName("state") .HasComment("Переменная этапа"); b.Property("TopDriveSpeed") .HasColumnType("double precision") .HasColumnName("top_drive_speed") .HasComment("Скорость СВП"); b.Property("TopDriveSpeedErr") .HasColumnType("integer") .HasColumnName("top_drive_speed_err"); b.Property("TopDriveSpeedMax") .HasColumnType("double precision") .HasColumnName("top_drive_speed_max") .HasComment("верхний предел"); b.Property("TopDriveSpeedMin") .HasColumnType("double precision") .HasColumnName("top_drive_speed_min") .HasComment("нижний предел"); b.Property("TopDriveSpeedOffset") .HasColumnType("double precision") .HasColumnName("top_drive_speed_offset") .HasComment("смещение"); b.Property("TopDriveSpeedSpFrom") .HasColumnType("double precision") .HasColumnName("top_drive_speed_sp_from") .HasComment("Заданная скорость c СВП"); b.Property("TopDriveSpeedSpFromErr") .HasColumnType("integer") .HasColumnName("top_drive_speed_sp_from_err"); b.Property("TopDriveSpeedSpFromMax") .HasColumnType("double precision") .HasColumnName("top_drive_speed_sp_from_max"); b.Property("TopDriveSpeedSpFromMin") .HasColumnType("double precision") .HasColumnName("top_drive_speed_sp_from_min"); b.Property("TopDriveSpeedSpFromOffset") .HasColumnType("double precision") .HasColumnName("top_drive_speed_sp_from_offset"); b.Property("TopDriveSpeedSpTo") .HasColumnType("double precision") .HasColumnName("top_drive_speed_sp_to") .HasComment("Задание скорости на СВП"); b.Property("TopDriveSpeedSpToErr") .HasColumnType("integer") .HasColumnName("top_drive_speed_sp_to_err"); b.Property("TopDriveSpeedSpToMax") .HasColumnType("double precision") .HasColumnName("top_drive_speed_sp_to_max"); b.Property("TopDriveSpeedSpToMin") .HasColumnType("double precision") .HasColumnName("top_drive_speed_sp_to_min"); b.Property("TopDriveSpeedSpToOffset") .HasColumnType("double precision") .HasColumnName("top_drive_speed_sp_to_offset"); b.Property("TopDriveTorque") .HasColumnType("double precision") .HasColumnName("top_drive_torque") .HasComment("Момент СВП"); b.Property("TopDriveTorqueErr") .HasColumnType("integer") .HasColumnName("top_drive_torque_err"); b.Property("TopDriveTorqueMax") .HasColumnType("double precision") .HasColumnName("top_drive_torque_max"); b.Property("TopDriveTorqueMin") .HasColumnType("double precision") .HasColumnName("top_drive_torque_min"); b.Property("TopDriveTorqueOffset") .HasColumnType("double precision") .HasColumnName("top_drive_torque_offset"); b.Property("TopDriveTorqueSpFrom") .HasColumnType("double precision") .HasColumnName("top_drive_torque_sp_from") .HasComment("Заданный момент c СВП"); b.Property("TopDriveTorqueSpFromErr") .HasColumnType("integer") .HasColumnName("top_drive_torque_sp_from_err"); b.Property("TopDriveTorqueSpFromMax") .HasColumnType("double precision") .HasColumnName("top_drive_torque_sp_from_max"); b.Property("TopDriveTorqueSpFromMin") .HasColumnType("double precision") .HasColumnName("top_drive_torque_sp_from_min"); b.Property("TopDriveTorqueSpFromOffset") .HasColumnType("double precision") .HasColumnName("top_drive_torque_sp_from_offset"); b.Property("TopDriveTorqueSpTo") .HasColumnType("double precision") .HasColumnName("top_drive_torque_sp_to") .HasComment("Задание момента на СВП"); b.Property("TopDriveTorqueSpToErr") .HasColumnType("integer") .HasColumnName("top_drive_torque_sp_to_err"); b.Property("TopDriveTorqueSpToMax") .HasColumnType("double precision") .HasColumnName("top_drive_torque_sp_to_max"); b.Property("TopDriveTorqueSpToMin") .HasColumnType("double precision") .HasColumnName("top_drive_torque_sp_to_min"); b.Property("TopDriveTorqueSpToOffset") .HasColumnType("double precision") .HasColumnName("top_drive_torque_sp_to_offset"); b.Property("TorqueLeftLimit") .HasColumnType("double precision") .HasColumnName("torque_left_limit") .HasComment("Ограничение крутящего момента влево"); b.Property("TorqueRampTime") .HasColumnType("double precision") .HasColumnName("torque_ramp_time") .HasComment("Время нарастания момента"); b.Property("TorqueRightLimit") .HasColumnType("double precision") .HasColumnName("torque_right_limit") .HasComment("Ограничение крутящего момента вправо"); b.Property("TorqueStarting") .HasColumnType("double precision") .HasColumnName("torque_starting") .HasComment(" Страгивающий момент"); b.Property("TurnLeftOnceByAngle") .HasColumnType("double precision") .HasColumnName("turn_left_once_by_angle") .HasComment("Доворот по градусам единожды влево"); b.Property("TurnLeftOnceByRevols") .HasColumnType("double precision") .HasColumnName("turn_left_once_by_revols") .HasComment("Доворот по оборотам единожды влево"); b.Property("TurnLeftOnceByTorque") .HasColumnType("double precision") .HasColumnName("turn_left_once_by_torque") .HasComment("Доворот по моменту единожды влево"); b.Property("TurnRightOnceByAngle") .HasColumnType("double precision") .HasColumnName("turn_right_once_by_angle") .HasComment("Доворот по градусам единожды вправо"); b.Property("TurnRightOnceByRevols") .HasColumnType("double precision") .HasColumnName("turn_right_once_by_revols") .HasComment("Доворот по оборотам единожды вправо"); b.Property("TurnRightOnceByTorque") .HasColumnType("double precision") .HasColumnName("turn_right_once_by_torque") .HasComment("Доворот по моменту единожды вправо"); b.Property("UnlockBySectorOut") .HasColumnType("double precision") .HasColumnName("unlock_by_sector_out") .HasComment(" Градус отклонения от сектора для автоматического сброса блокировки"); b.Property("Ver") .HasColumnType("double precision") .HasColumnName("ver") .HasComment("Версия ПО ПЛК"); b.Property("W2800") .HasColumnType("integer") .HasColumnName("w2800") .HasComment("Установка нуля энкодера"); b.Property("W2808") .HasColumnType("integer") .HasColumnName("w2808") .HasComment("Неисправность энкодера"); b.Property("W2810") .HasColumnType("integer") .HasColumnName("w2810") .HasComment(" автоматический сброс блокировки"); b.HasKey("Id"); b.HasIndex("IdTelemetry"); b.ToTable("t_telemetry_data_spin"); b .HasComment("набор основных данных по SpinMaster"); }); modelBuilder.Entity("AsbCloudDb.Model.TelemetryEvent", b => { b.Property("IdTelemetry") .HasColumnType("integer") .HasColumnName("id_telemetry"); b.Property("IdEvent") .HasColumnType("integer") .HasColumnName("id_event"); b.Property("IdCategory") .HasColumnType("integer") .HasColumnName("id_category"); b.Property("MessageTemplate") .HasColumnType("text") .HasColumnName("message_template"); b.HasKey("IdTelemetry", "IdEvent"); b.ToTable("t_telemetry_event"); b .HasComment("Справочник событий. События формируют сообщения. Разделено по версиям посылок от телеметрии."); }); modelBuilder.Entity("AsbCloudDb.Model.TelemetryMessage", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Arg0") .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("arg0") .HasComment("Аргумент №0 для вставки в шаблон сообщения"); b.Property("Arg1") .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("arg1"); b.Property("Arg2") .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("arg2"); b.Property("Arg3") .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("arg3"); b.Property("Date") .HasColumnType("timestamp with time zone") .HasColumnName("date"); b.Property("IdEvent") .HasColumnType("integer") .HasColumnName("id_event"); b.Property("IdTelemetry") .HasColumnType("integer") .HasColumnName("id_telemetry"); b.Property("IdTelemetryUser") .HasColumnType("integer") .HasColumnName("id_telemetry_user") .HasComment("Пользователь панели отправляющей телеметрию. не пользователь облака."); b.Property("WellDepth") .HasColumnType("double precision") .HasColumnName("well_depth"); b.HasKey("Id"); b.HasIndex("IdTelemetry"); b.ToTable("t_telemetry_message"); b .HasComment("Сообщения на буровых"); }); modelBuilder.Entity("AsbCloudDb.Model.TelemetryUser", b => { b.Property("IdTelemetry") .HasColumnType("integer") .HasColumnName("id_telemetry"); b.Property("IdUser") .HasColumnType("integer") .HasColumnName("id_user"); b.Property("Level") .HasColumnType("integer") .HasColumnName("level"); b.Property("Name") .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("name"); b.Property("Patronymic") .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("patronymic"); b.Property("Surname") .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("surname"); b.HasKey("IdTelemetry", "IdUser"); b.ToTable("t_telemetry_user"); b .HasComment("Пользователи панели САУБ. Для сообщений."); }); modelBuilder.Entity("AsbCloudDb.Model.User", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Email") .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("email") .HasComment("должность"); b.Property("IdCompany") .HasColumnType("integer") .HasColumnName("id_company"); b.Property("IdRole") .HasColumnType("integer") .HasColumnName("id_role"); b.Property("Level") .HasColumnType("integer") .HasColumnName("level"); b.Property("Login") .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("login"); b.Property("Name") .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("name") .HasComment("имя"); b.Property("PasswordHash") .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("password_hash") .HasComment("соленый хэш пароля.\nпервые 5 символов - соль"); b.Property("Patronymic") .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("patronymic") .HasComment("отчество"); b.Property("Phone") .HasMaxLength(50) .HasColumnType("character varying(50)") .HasColumnName("phone") .HasComment("номер телефона"); b.Property("Position") .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("position") .HasComment("email"); b.Property("State") .HasColumnType("smallint") .HasColumnName("state") .HasComment("состояние:\n100 - удален"); b.Property("Surname") .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("surname") .HasComment("фамилия"); b.HasKey("Id"); b.HasIndex("IdCompany"); b.HasIndex("IdRole"); b.HasIndex("Login") .IsUnique(); b.ToTable("t_user"); b .HasComment("Пользователи облака"); b.HasData( new { Id = 1, IdCompany = 1, IdRole = 1, Level = 2147483647, Login = "dev", Name = "Разработчик", PasswordHash = "Vlcj|4fa529103dde7ff72cfe76185f344d4aa87931f8e1b2044e8a7739947c3d18923464eaad93843e4f809c5e126d013072" }); }); modelBuilder.Entity("AsbCloudDb.Model.UserRole", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Caption") .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("caption") .HasComment("Название"); b.HasKey("Id"); b.ToTable("t_user_role"); b .HasComment("Роли пользователей в системе"); b.HasData( new { Id = 1, Caption = "Администратор" }, new { Id = 2, Caption = "Пользователь" }); }); modelBuilder.Entity("AsbCloudDb.Model.Well", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Caption") .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("caption"); b.Property("IdCluster") .HasColumnType("integer") .HasColumnName("id_cluster"); b.Property("IdState") .HasColumnType("integer") .HasColumnName("state") .HasComment("0 - неизвестно, 1 - в работе, 2 - завершена"); b.Property("IdTelemetry") .HasColumnType("integer") .HasColumnName("id_telemetry"); b.Property("IdWellType") .HasColumnType("integer") .HasColumnName("id_well_type"); b.Property("Latitude") .HasColumnType("double precision") .HasColumnName("latitude"); b.Property("Longitude") .HasColumnType("double precision") .HasColumnName("longitude"); b.HasKey("Id"); b.HasIndex("IdCluster"); b.HasIndex("IdTelemetry") .IsUnique(); b.HasIndex("IdWellType"); b.ToTable("t_well"); b .HasComment("скважины"); }); modelBuilder.Entity("AsbCloudDb.Model.WellComposite", b => { b.Property("IdWell") .HasColumnType("integer") .HasColumnName("id_well") .HasComment("Id скважины получателя"); b.Property("IdWellSrc") .HasColumnType("integer") .HasColumnName("id_well_src") .HasComment("Id скважины композита"); b.Property("IdWellSectionType") .HasColumnType("integer") .HasColumnName("id_well_section_type") .HasComment("Id тип секции композита"); b.HasKey("IdWell", "IdWellSrc", "IdWellSectionType"); b.HasIndex("IdWellSectionType"); b.HasIndex("IdWellSrc"); b.ToTable("t_well_сomposite"); b .HasComment("Композитная скважина"); }); modelBuilder.Entity("AsbCloudDb.Model.WellOperation", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("CategoryInfo") .HasColumnType("text") .HasColumnName("category_info") .HasComment("Доп. информация к выбраной категории"); b.Property("Comment") .HasColumnType("text") .HasColumnName("comment") .HasComment("Комментарий"); b.Property("DateStart") .HasColumnType("timestamp without time zone") .HasColumnName("date_start") .HasComment("Дата начала операции"); b.Property("DepthEnd") .HasColumnType("double precision") .HasColumnName("depth_end") .HasComment("Глубина после завершения операции, м"); b.Property("DepthStart") .HasColumnType("double precision") .HasColumnName("depth_start") .HasComment("Глубина на начало операции, м"); b.Property("DurationHours") .HasColumnType("double precision") .HasColumnName("duration_hours") .HasComment("Продолжительность, часы"); b.Property("IdCategory") .HasColumnType("integer") .HasColumnName("id_category") .HasComment("Id категории операции"); b.Property("IdType") .HasColumnType("integer") .HasColumnName("id_type") .HasComment("0 = План или 1 = Факт"); b.Property("IdWell") .HasColumnType("integer") .HasColumnName("id_well") .HasComment("Id скважины"); b.Property("IdWellSectionType") .HasColumnType("integer") .HasColumnName("id_well_section_type") .HasComment("Id тип секции скважины"); b.HasKey("Id"); b.HasIndex("DateStart"); b.HasIndex("DepthEnd"); b.HasIndex("IdCategory"); b.HasIndex("IdWell"); b.HasIndex("IdWellSectionType"); b.ToTable("t_well_operation"); b .HasComment("Данные по операциям на скважине"); }); modelBuilder.Entity("AsbCloudDb.Model.WellOperationCategory", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Code") .HasColumnType("integer") .HasColumnName("code") .HasComment("Код операции"); b.Property("Name") .HasColumnType("text") .HasColumnName("name") .HasComment("Название категории операции"); b.HasKey("Id"); b.ToTable("t_well_operation_category"); b .HasComment("Справочник операций на скважине"); b.HasData( new { Id = 1, Code = 0, Name = "Невозможно определить операцию" }, new { Id = 2, Code = 0, Name = "Роторное бурение" }, new { Id = 3, Code = 0, Name = "Слайдирование" }, new { Id = 4, Code = 0, Name = "Подъем с проработкой" }, new { Id = 5, Code = 0, Name = "Спуск с проработкой" }, new { Id = 6, Code = 0, Name = "Подъем с промывкой" }, new { Id = 7, Code = 0, Name = "Спуск с промывкой" }, new { Id = 8, Code = 0, Name = "Спуск в скважину" }, new { Id = 9, Code = 0, Name = "Спуск с вращением" }, new { Id = 10, Code = 0, Name = "Подъем из скважины" }, new { Id = 11, Code = 0, Name = "Подъем с вращением" }, new { Id = 12, Code = 0, Name = "Промывка в покое" }, new { Id = 13, Code = 0, Name = "Промывка с вращением" }, new { Id = 14, Code = 0, Name = "Удержание в клиньях" }, new { Id = 15, Code = 0, Name = "Неподвижное состояние" }, new { Id = 16, Code = 0, Name = "Вращение без циркуляции" }, new { Id = 17, Code = 0, Name = "На поверхности" }, new { Id = 1001, Code = 0, Name = "Бурение" }, new { Id = 1002, Code = 0, Name = "ГИС" }, new { Id = 1003, Code = 0, Name = "ГФР" }, new { Id = 1004, Code = 0, Name = "Монтаж ПВО" }, new { Id = 1005, Code = 0, Name = "Демонтаж ПВО" }, new { Id = 1006, Code = 0, Name = "Установка ФА" }, new { Id = 1007, Code = 0, Name = "Оборудование устья" }, new { Id = 1008, Code = 0, Name = "ОЗЦ" }, new { Id = 1009, Code = 0, Name = "Оборудование устья" }, new { Id = 1010, Code = 0, Name = "ОЗЦ" }, new { Id = 1011, Code = 0, Name = "Начало цикла строительства скважины" }, new { Id = 1012, Code = 0, Name = "Окончание цикла строительства скважины" }, new { Id = 1013, Code = 0, Name = "Опрессовка ПВО" }, new { Id = 1014, Code = 0, Name = "Опресовка Ц.К." }, new { Id = 1015, Code = 0, Name = "Опрессовка ВЗД" }, new { Id = 1016, Code = 0, Name = "Перевод скв на другой тип промывочной жидкости" }, new { Id = 1017, Code = 0, Name = "Перезапись каротажа" }, new { Id = 1018, Code = 0, Name = "Перетяжка талевого каната" }, new { Id = 1019, Code = 0, Name = "Наращивание, промывка" }, new { Id = 1020, Code = 0, Name = "Подъем инструмента" }, new { Id = 1021, Code = 0, Name = "Подъем инструмента с промывкой" }, new { Id = 1022, Code = 0, Name = "Обратная проработка" }, new { Id = 1023, Code = 0, Name = "Сборка инструмента" }, new { Id = 1024, Code = 0, Name = "Подготовительные работы" }, new { Id = 1025, Code = 0, Name = "Сборка КНБК" }, new { Id = 1026, Code = 0, Name = "Разборка КНБК" }, new { Id = 1027, Code = 0, Name = "Промывка" }, new { Id = 1028, Code = 0, Name = "Промежуточная промывка" }, new { Id = 1029, Code = 0, Name = "Прокачка пачек" }, new { Id = 1030, Code = 0, Name = "Разбуривание тех.оснастки" }, new { Id = 1031, Code = 0, Name = "Ремонт" }, new { Id = 1032, Code = 0, Name = "Спуск инструмента" }, new { Id = 1033, Code = 0, Name = "Спуск инструмента с промывкой" }, new { Id = 1034, Code = 0, Name = "Прямая проработка" }, new { Id = 1035, Code = 0, Name = "Принудительная проработка" }, new { Id = 1036, Code = 0, Name = "Спуск обсадной колонны" }, new { Id = 1037, Code = 0, Name = "Тех СПО-подъем" }, new { Id = 1038, Code = 0, Name = "Тех СПО-спуск" }, new { Id = 1039, Code = 0, Name = "Техническое обслуживание" }, new { Id = 1040, Code = 0, Name = "Цементаж" }, new { Id = 1041, Code = 0, Name = "Шаблонировка ствола" }, new { Id = 1042, Code = 0, Name = "Геологическое осложнение" }, new { Id = 1043, Code = 0, Name = "НПВ" }, new { Id = 1044, Code = 0, Name = "ВМР" }, new { Id = 1045, Code = 0, Name = "Прочее" }, new { Id = 1046, Code = 0, Name = "Спуск КНБК" }, new { Id = 1047, Code = 0, Name = "Подъем КНБК" }, new { Id = 1048, Code = 0, Name = "Спуск ОК" }, new { Id = 1050, Code = 0, Name = "Промывка при спуске ОК" }); }); modelBuilder.Entity("AsbCloudDb.Model.WellSectionType", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Caption") .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("caption") .HasComment("Название"); b.HasKey("Id"); b.ToTable("t_well_section_type"); b .HasComment("конструкция секции скважины"); b.HasData( new { Id = 1, Caption = "Пилотный ствол" }, new { Id = 2, Caption = "Направление" }, new { Id = 3, Caption = "Кондуктор" }, new { Id = 4, Caption = "Эксплуатационная колонна" }, new { Id = 5, Caption = "Транспортный ствол" }, new { Id = 6, Caption = "Хвостовик" }); }); modelBuilder.Entity("AsbCloudDb.Model.WellType", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Caption") .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("caption") .HasComment("Название"); b.HasKey("Id"); b.ToTable("t_well_type"); b .HasComment("конструкция скважины"); b.HasData( new { Id = 1, Caption = "Наклонно-направленная" }, new { Id = 2, Caption = "Горизонтальная" }); }); modelBuilder.Entity("AsbCloudDb.Model.Cluster", b => { b.HasOne("AsbCloudDb.Model.Deposit", "Deposit") .WithMany("Clusters") .HasForeignKey("IdDeposit") .HasConstraintName("t_cluster_t_deposit_id_fk"); b.Navigation("Deposit"); }); modelBuilder.Entity("AsbCloudDb.Model.Company", b => { b.HasOne("AsbCloudDb.Model.CompanyType", "CompanyType") .WithMany("Companies") .HasForeignKey("IdCompanyType") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("CompanyType"); }); modelBuilder.Entity("AsbCloudDb.Model.DrillFlowChart", b => { b.HasOne("AsbCloudDb.Model.Well", "Well") .WithMany() .HasForeignKey("IdWell") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Well"); }); modelBuilder.Entity("AsbCloudDb.Model.DrillParams", b => { b.HasOne("AsbCloudDb.Model.Well", "Well") .WithMany() .HasForeignKey("IdWell") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("AsbCloudDb.Model.WellSectionType", "WellSectionType") .WithMany("DrillParamsCollection") .HasForeignKey("IdWellSectionType") .HasConstraintName("t_drill_params_t_well_section_type_id_fk") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Well"); b.Navigation("WellSectionType"); }); modelBuilder.Entity("AsbCloudDb.Model.FileInfo", b => { b.HasOne("AsbCloudDb.Model.User", "Author") .WithMany("Files") .HasForeignKey("IdAuthor"); b.HasOne("AsbCloudDb.Model.FileCategory", "FileCategory") .WithMany() .HasForeignKey("IdCategory") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("AsbCloudDb.Model.Well", "Well") .WithMany() .HasForeignKey("IdWell") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Author"); b.Navigation("FileCategory"); b.Navigation("Well"); }); modelBuilder.Entity("AsbCloudDb.Model.Measure", b => { b.HasOne("AsbCloudDb.Model.MeasureCategory", "Category") .WithMany("Measures") .HasForeignKey("IdCategory") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("AsbCloudDb.Model.Well", "Well") .WithMany() .HasForeignKey("IdWell") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Category"); b.Navigation("Well"); }); modelBuilder.Entity("AsbCloudDb.Model.RelationCompanyWell", b => { b.HasOne("AsbCloudDb.Model.Company", "Company") .WithMany("RelationCompaniesWells") .HasForeignKey("IdCompany") .HasConstraintName("t_relation_company_well_t_company_id_fk") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("AsbCloudDb.Model.Well", "Well") .WithMany("RelationCompaniesWells") .HasForeignKey("IdWell") .HasConstraintName("t_relation_company_well_t_well_id_fk") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Company"); b.Navigation("Well"); }); modelBuilder.Entity("AsbCloudDb.Model.ReportProperty", b => { b.HasOne("AsbCloudDb.Model.FileInfo", "File") .WithMany() .HasForeignKey("IdFile") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("AsbCloudDb.Model.Well", "Well") .WithMany() .HasForeignKey("IdWell") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("File"); b.Navigation("Well"); }); modelBuilder.Entity("AsbCloudDb.Model.TelemetryAnalysis", b => { b.HasOne("AsbCloudDb.Model.WellOperationCategory", "Operation") .WithMany("Analysis") .HasForeignKey("IdOperation") .HasConstraintName("t_analysis_t_operation_id_fk") .OnDelete(DeleteBehavior.SetNull) .IsRequired(); b.HasOne("AsbCloudDb.Model.Telemetry", "Telemetry") .WithMany("Analysis") .HasForeignKey("IdTelemetry") .HasConstraintName("t_analysis_t_telemetry_id_fk") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Operation"); b.Navigation("Telemetry"); }); modelBuilder.Entity("AsbCloudDb.Model.TelemetryDataSaub", b => { b.HasOne("AsbCloudDb.Model.Telemetry", "Telemetry") .WithMany("DataSaub") .HasForeignKey("IdTelemetry") .HasConstraintName("t_telemetry_data_saub_t_telemetry_id_fk") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Telemetry"); }); modelBuilder.Entity("AsbCloudDb.Model.TelemetryDataSpin", b => { b.HasOne("AsbCloudDb.Model.Telemetry", "Telemetry") .WithMany("DataSpin") .HasForeignKey("IdTelemetry") .HasConstraintName("t_telemetry_data_spin_t_telemetry_id_fk") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Telemetry"); }); modelBuilder.Entity("AsbCloudDb.Model.TelemetryEvent", b => { b.HasOne("AsbCloudDb.Model.Telemetry", "Telemetry") .WithMany("Events") .HasForeignKey("IdTelemetry") .HasConstraintName("t_event_t_telemetry_id_fk") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Telemetry"); }); modelBuilder.Entity("AsbCloudDb.Model.TelemetryMessage", b => { b.HasOne("AsbCloudDb.Model.Telemetry", "Telemetry") .WithMany("Messages") .HasForeignKey("IdTelemetry") .HasConstraintName("t_messages_t_telemetry_id_fk") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Telemetry"); }); modelBuilder.Entity("AsbCloudDb.Model.TelemetryUser", b => { b.HasOne("AsbCloudDb.Model.Telemetry", "Telemetry") .WithMany("Users") .HasForeignKey("IdTelemetry") .HasConstraintName("t_telemetry_user_t_telemetry_id_fk") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Telemetry"); }); modelBuilder.Entity("AsbCloudDb.Model.User", b => { b.HasOne("AsbCloudDb.Model.Company", "Company") .WithMany("Users") .HasForeignKey("IdCompany") .HasConstraintName("t_user_t_company_id_fk") .OnDelete(DeleteBehavior.SetNull); b.HasOne("AsbCloudDb.Model.UserRole", "Role") .WithMany("Users") .HasForeignKey("IdRole"); b.Navigation("Company"); b.Navigation("Role"); }); modelBuilder.Entity("AsbCloudDb.Model.Well", b => { b.HasOne("AsbCloudDb.Model.Cluster", "Cluster") .WithMany("Wells") .HasForeignKey("IdCluster") .HasConstraintName("t_well_t_cluster_id_fk"); b.HasOne("AsbCloudDb.Model.Telemetry", "Telemetry") .WithOne("Well") .HasForeignKey("AsbCloudDb.Model.Well", "IdTelemetry") .HasConstraintName("t_well_t_telemetry_id_fk") .OnDelete(DeleteBehavior.SetNull); b.HasOne("AsbCloudDb.Model.WellType", "WellType") .WithMany("Wells") .HasForeignKey("IdWellType"); b.Navigation("Cluster"); b.Navigation("Telemetry"); b.Navigation("WellType"); }); modelBuilder.Entity("AsbCloudDb.Model.WellComposite", b => { b.HasOne("AsbCloudDb.Model.Well", "Well") .WithMany("WellComposites") .HasForeignKey("IdWell") .HasConstraintName("t_well_сomposite_t_well_id_fk") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("AsbCloudDb.Model.WellSectionType", "WellSectionType") .WithMany("WellComposites") .HasForeignKey("IdWellSectionType") .HasConstraintName("t_well_сomposite_t_well_section_type_id_fk") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("AsbCloudDb.Model.Well", "WellSrc") .WithMany("WellCompositeSrcs") .HasForeignKey("IdWellSrc") .HasConstraintName("t_well_сomposite_src_t_well_id_fk") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Well"); b.Navigation("WellSectionType"); b.Navigation("WellSrc"); }); modelBuilder.Entity("AsbCloudDb.Model.WellOperation", b => { b.HasOne("AsbCloudDb.Model.WellOperationCategory", "OperationCategory") .WithMany() .HasForeignKey("IdCategory") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("AsbCloudDb.Model.Well", "Well") .WithMany("WellOperations") .HasForeignKey("IdWell") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("AsbCloudDb.Model.WellSectionType", "WellSectionType") .WithMany("WellOperations") .HasForeignKey("IdWellSectionType") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("OperationCategory"); b.Navigation("Well"); b.Navigation("WellSectionType"); }); modelBuilder.Entity("AsbCloudDb.Model.Cluster", b => { b.Navigation("Wells"); }); modelBuilder.Entity("AsbCloudDb.Model.Company", b => { b.Navigation("RelationCompaniesWells"); b.Navigation("Users"); }); modelBuilder.Entity("AsbCloudDb.Model.CompanyType", b => { b.Navigation("Companies"); }); modelBuilder.Entity("AsbCloudDb.Model.Deposit", b => { b.Navigation("Clusters"); }); modelBuilder.Entity("AsbCloudDb.Model.MeasureCategory", b => { b.Navigation("Measures"); }); modelBuilder.Entity("AsbCloudDb.Model.Telemetry", b => { b.Navigation("Analysis"); b.Navigation("DataSaub"); b.Navigation("DataSpin"); b.Navigation("Events"); b.Navigation("Messages"); b.Navigation("Users"); b.Navigation("Well"); }); modelBuilder.Entity("AsbCloudDb.Model.User", b => { b.Navigation("Files"); }); modelBuilder.Entity("AsbCloudDb.Model.UserRole", b => { b.Navigation("Users"); }); modelBuilder.Entity("AsbCloudDb.Model.Well", b => { b.Navigation("RelationCompaniesWells"); b.Navigation("WellComposites"); b.Navigation("WellCompositeSrcs"); b.Navigation("WellOperations"); }); modelBuilder.Entity("AsbCloudDb.Model.WellOperationCategory", b => { b.Navigation("Analysis"); }); modelBuilder.Entity("AsbCloudDb.Model.WellSectionType", b => { b.Navigation("DrillParamsCollection"); b.Navigation("WellComposites"); b.Navigation("WellOperations"); }); modelBuilder.Entity("AsbCloudDb.Model.WellType", b => { b.Navigation("Wells"); }); #pragma warning restore 612, 618 } } }