DD.WellWorkover.Cloud/AsbCloudDb/Migrations/AsbCloudDbContextModelSnapshot.cs

2370 lines
98 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// <auto-generated />
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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<string>("Caption")
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("caption")
.HasComment("Название");
b.Property<int?>("IdDeposit")
.HasColumnType("integer")
.HasColumnName("id_deposit");
b.Property<double?>("Latitude")
.HasColumnType("double precision")
.HasColumnName("latitude");
b.Property<double?>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<string>("Caption")
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("caption");
b.Property<int>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<string>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<string>("Caption")
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("caption");
b.Property<double?>("Latitude")
.HasColumnType("double precision")
.HasColumnName("latitude");
b.Property<double?>("Longitude")
.HasColumnType("double precision")
.HasColumnName("longitude");
b.HasKey("Id");
b.ToTable("t_deposit");
b
.HasComment("Месторождение");
});
modelBuilder.Entity("AsbCloudDb.Model.FileCategory", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<string>("Name")
.HasColumnType("text")
.HasColumnName("name")
.HasComment("Название категории");
b.Property<string>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<int?>("IdAuthor")
.HasColumnType("integer")
.HasColumnName("id_author")
.HasComment("Id пользователя, загрузившего файл");
b.Property<int>("IdCategory")
.HasColumnType("integer")
.HasColumnName("id_category")
.HasComment("id категории файла");
b.Property<int>("IdWell")
.HasColumnType("integer")
.HasColumnName("id_well")
.HasComment("id скважины");
b.Property<bool>("IsDeleted")
.HasColumnType("boolean")
.HasColumnName("is_deleted")
.HasComment("Удален ли файл");
b.Property<string>("Name")
.HasColumnType("text")
.HasColumnName("name")
.HasComment("Название файла");
b.Property<long>("Size")
.HasColumnType("bigint")
.HasColumnName("file_size")
.HasComment("Размер файла");
b.Property<DateTime>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<Dictionary<string, object>>("Data")
.HasColumnType("jsonb")
.HasColumnName("data")
.HasComment("Данные таблицы последних данных");
b.Property<int>("IdCategory")
.HasColumnType("integer")
.HasColumnName("id_category")
.HasComment("id категории");
b.Property<int>("IdWell")
.HasColumnType("integer")
.HasColumnName("id_well")
.HasComment("id скважины");
b.Property<bool>("IsDeleted")
.HasColumnType("boolean")
.HasColumnName("is_deleted")
.HasComment("Пометка удаленным");
b.Property<DateTime>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<string>("Name")
.HasColumnType("text")
.HasColumnName("name")
.HasComment("Название категории");
b.Property<string>("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<int>("IdCompany")
.HasColumnType("integer")
.HasColumnName("id_company");
b.Property<int>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<DateTimeOffset>("Begin")
.HasColumnType("timestamp with time zone")
.HasColumnName("begin");
b.Property<DateTimeOffset>("End")
.HasColumnType("timestamp with time zone")
.HasColumnName("end")
.HasComment("timestamp with time zone");
b.Property<int>("Format")
.HasColumnType("integer")
.HasColumnName("format")
.HasComment("Формат отчета");
b.Property<int>("IdFile")
.HasColumnType("integer")
.HasColumnName("id_file")
.HasComment("id файла-родителя");
b.Property<int>("IdWell")
.HasColumnType("integer")
.HasColumnName("id_well")
.HasComment("id скважины");
b.Property<int>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<TelemetryInfo>("Info")
.HasColumnType("jsonb")
.HasColumnName("info")
.HasComment("Информация с панели о скважине");
b.Property<string>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<int>("DurationSec")
.HasColumnType("integer")
.HasColumnName("duration_sec")
.HasComment("Кол-во секунд после предыдущей операции");
b.Property<int>("IdOperation")
.HasColumnType("integer")
.HasColumnName("id_operation");
b.Property<int>("IdTelemetry")
.HasColumnType("integer")
.HasColumnName("id_telemetry");
b.Property<bool>("IsBitPositionDecreasing")
.HasColumnType("boolean")
.HasColumnName("is_bit_position_decreasing")
.HasComment("Долото поднимается");
b.Property<bool>("IsBitPositionIncreasing")
.HasColumnType("boolean")
.HasColumnName("is_bit_position_increasing")
.HasComment("Долото спускается");
b.Property<bool>("IsBitPositionLt20")
.HasColumnType("boolean")
.HasColumnName("is_bit_posision_lt_20")
.HasComment("Положение долота меньше 20м");
b.Property<bool>("IsBlockPositionDecreasing")
.HasColumnType("boolean")
.HasColumnName("is_block_posision_decresing")
.HasComment("Талевый блок поднимается");
b.Property<bool>("IsBlockPositionIncreasing")
.HasColumnType("boolean")
.HasColumnName("is_block_posision_incresing")
.HasComment("Талевый блок спускается");
b.Property<bool>("IsHookWeightLt3")
.HasColumnType("boolean")
.HasColumnName("is_hook_weight_lt_3")
.HasComment("Вес на крюке менее 3т");
b.Property<bool>("IsHookWeightNotChanges")
.HasColumnType("boolean")
.HasColumnName("is_hook_weight_not_changes")
.HasComment("Вес на крюке не меняется");
b.Property<bool>("IsPressureGt20")
.HasColumnType("boolean")
.HasColumnName("is_pressure_gt_20")
.HasComment("Давоение более 20");
b.Property<bool>("IsPressureLt20")
.HasColumnType("boolean")
.HasColumnName("is_pressure_lt_20")
.HasComment("Давление менее 20");
b.Property<bool>("IsRotorSpeedGt5")
.HasColumnType("boolean")
.HasColumnName("is_rotor_speed_gt_3")
.HasComment("Обороты ротора выше 3");
b.Property<bool>("IsRotorSpeedLt5")
.HasColumnType("boolean")
.HasColumnName("is_rotor_speed_lt_3")
.HasComment("Обороты ротора ниже 3");
b.Property<bool>("IsWellDepthDecreasing")
.HasColumnType("boolean")
.HasColumnName("is_well_depth_decreasing")
.HasComment("Глубина забоя не увеличивается");
b.Property<bool>("IsWellDepthIncreasing")
.HasColumnType("boolean")
.HasColumnName("is_well_depth_increasing")
.HasComment("Глубина забоя увеличивается");
b.Property<double?>("OperationEndDepth")
.HasColumnType("double precision")
.HasColumnName("operation_end_depth")
.HasComment("Глубина, на которой закончилась операция");
b.Property<double?>("OperationStartDepth")
.HasColumnType("double precision")
.HasColumnName("operation_start_depth")
.HasComment("Глубина, на которой началась операция");
b.Property<long>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<double?>("AxialLoad")
.HasColumnType("double precision")
.HasColumnName("axial_load")
.HasComment("Осевая нагрузка");
b.Property<double?>("AxialLoadLimitMax")
.HasColumnType("double precision")
.HasColumnName("axial_load_limit_max")
.HasComment("Осевая нагрузка. Аварийная макс.");
b.Property<double?>("AxialLoadSp")
.HasColumnType("double precision")
.HasColumnName("axial_load_sp")
.HasComment("Осевая нагрузка. Задание");
b.Property<double?>("BitDepth")
.HasColumnType("double precision")
.HasColumnName("bit_depth")
.HasComment("Положение инструмента");
b.Property<double?>("BlockPosition")
.HasColumnType("double precision")
.HasColumnName("block_position")
.HasComment("Высота талевого блока");
b.Property<double?>("BlockPositionMax")
.HasColumnType("double precision")
.HasColumnName("block_position_max")
.HasComment("Талевый блок. Макс положение");
b.Property<double?>("BlockPositionMin")
.HasColumnType("double precision")
.HasColumnName("block_position_min")
.HasComment("Талевый блок. Мин положение");
b.Property<double?>("BlockSpeed")
.HasColumnType("double precision")
.HasColumnName("block_speed")
.HasComment("Скорость талевого блока");
b.Property<double?>("BlockSpeedSp")
.HasColumnType("double precision")
.HasColumnName("block_speed_sp")
.HasComment("Скорости талевого блока. Задание");
b.Property<double?>("BlockSpeedSpDevelop")
.HasColumnType("double precision")
.HasColumnName("block_speed_sp_develop")
.HasComment("Талевый блок. Задание скорости для проработки");
b.Property<double?>("BlockSpeedSpRotor")
.HasColumnType("double precision")
.HasColumnName("block_speed_sp_rotor")
.HasComment("Талевый блок. Задание скорости для роторного бурения");
b.Property<double?>("BlockSpeedSpSlide")
.HasColumnType("double precision")
.HasColumnName("block_speed_sp_slide")
.HasComment("Талевый блок. Задание скорости для режима слайда");
b.Property<DateTime>("Date")
.HasColumnType("timestamp with time zone")
.HasColumnName("date")
.HasComment("'2021-10-19 18:23:54+05'");
b.Property<double?>("Flow")
.HasColumnType("double precision")
.HasColumnName("flow")
.HasComment("Расход");
b.Property<double?>("FlowDeltaLimitMax")
.HasColumnType("double precision")
.HasColumnName("flow_delta_limit_max")
.HasComment("Расход. Аварийный макс.");
b.Property<double?>("FlowIdle")
.HasColumnType("double precision")
.HasColumnName("flow_idle")
.HasComment("Расход. Холостой ход");
b.Property<double?>("HookWeight")
.HasColumnType("double precision")
.HasColumnName("hook_weight")
.HasComment("Вес на крюке");
b.Property<double?>("HookWeightIdle")
.HasColumnType("double precision")
.HasColumnName("hook_weight_idle")
.HasComment("Вес на крюке. Холостой ход");
b.Property<double?>("HookWeightLimitMax")
.HasColumnType("double precision")
.HasColumnName("hook_weight_limit_max")
.HasComment("Вес на крюке. Затяжка");
b.Property<double?>("HookWeightLimitMin")
.HasColumnType("double precision")
.HasColumnName("hook_weight_limit_min")
.HasComment("Вес на крюке. Посадка");
b.Property<double?>("IdFeedRegulator")
.HasColumnType("double precision")
.HasColumnName("id_feed_regulator")
.HasComment("Текущий критерий бурения");
b.Property<int>("IdTelemetry")
.HasColumnType("integer")
.HasColumnName("id_telemetry");
b.Property<int?>("IdUser")
.HasColumnType("integer")
.HasColumnName("id_user")
.HasComment("Пользователь САУБ");
b.Property<int?>("Mode")
.HasColumnType("integer")
.HasColumnName("mode")
.HasComment("Режим САУБ");
b.Property<double?>("MseState")
.HasColumnType("double precision")
.HasColumnName("mse_state")
.HasComment("Текущее состояние работы MSE");
b.Property<double?>("Pressure")
.HasColumnType("double precision")
.HasColumnName("pressure")
.HasComment("Давление");
b.Property<double?>("PressureDeltaLimitMax")
.HasColumnType("double precision")
.HasColumnName("pressure_delta_limit_max")
.HasComment("Давление дифф. Аварийное макс.");
b.Property<double?>("PressureIdle")
.HasColumnType("double precision")
.HasColumnName("pressure_idle")
.HasComment("Давление. Холостой ход");
b.Property<double?>("PressureSp")
.HasColumnType("double precision")
.HasColumnName("pressure_sp")
.HasComment("Давление. Задание");
b.Property<double?>("PressureSpDevelop")
.HasColumnType("double precision")
.HasColumnName("pressure_sp_develop")
.HasComment("Давление. Задание для проработки");
b.Property<double?>("PressureSpRotor")
.HasColumnType("double precision")
.HasColumnName("pressure_sp_rotor")
.HasComment("Давление. Задание для роторного бурения");
b.Property<double?>("PressureSpSlide")
.HasColumnType("double precision")
.HasColumnName("pressure_sp_slide")
.HasComment("Давление. Задание для режима слайда");
b.Property<double?>("RotorSpeed")
.HasColumnType("double precision")
.HasColumnName("rotor_speed")
.HasComment("Обороты ротора");
b.Property<double?>("RotorTorque")
.HasColumnType("double precision")
.HasColumnName("rotor_torque")
.HasComment("Момент на роторе");
b.Property<double?>("RotorTorqueIdle")
.HasColumnType("double precision")
.HasColumnName("rotor_torque_idle")
.HasComment("Момент на роторе. Холостой ход");
b.Property<double?>("RotorTorqueLimitMax")
.HasColumnType("double precision")
.HasColumnName("rotor_torque_limit_max")
.HasComment("Момент на роторе. Аварийный макс.");
b.Property<double?>("RotorTorqueSp")
.HasColumnType("double precision")
.HasColumnName("rotor_torque_sp")
.HasComment("Момент на роторе. Задание");
b.Property<double?>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<double?>("BreakAngleK")
.HasColumnType("double precision")
.HasColumnName("break_angle_k")
.HasComment("Коэффициент для расчёта за какой угол нужно тормозить");
b.Property<double?>("BreakAngleLeft")
.HasColumnType("double precision")
.HasColumnName("break_angle_left")
.HasComment("Угол торможения влево при работе по моменту");
b.Property<DateTime>("Date")
.HasColumnType("timestamp with time zone")
.HasColumnName("date")
.HasComment("'2021-10-19 18:23:54+05'");
b.Property<double?>("EncoderResolution")
.HasColumnType("double precision")
.HasColumnName("encoder_resolution ")
.HasComment(" Разрешение энкодера");
b.Property<int>("IdTelemetry")
.HasColumnType("integer")
.HasColumnName("id_telemetry");
b.Property<int?>("Mode")
.HasColumnType("integer")
.HasColumnName("mode")
.HasComment("Выбранный режим управления");
b.Property<double?>("PidMuxTorqueLeftLimit")
.HasColumnType("double precision")
.HasColumnName("pid_mux_torque_left_limit")
.HasComment(" Момент при котором определяется ехать назад по моменту или по скорости");
b.Property<double?>("PositionRight")
.HasColumnType("double precision")
.HasColumnName("position_right")
.HasComment("Крайний правый угол осциляции");
b.Property<double?>("PositionZero")
.HasColumnType("double precision")
.HasColumnName("position_zero")
.HasComment("Нулевая позиция осциляции");
b.Property<double?>("Ratio")
.HasColumnType("double precision")
.HasColumnName("ratio")
.HasComment(" Коэффициент редукции редектора");
b.Property<double?>("ReverseKTorque")
.HasColumnType("double precision")
.HasColumnName("reverse_k_torque")
.HasComment("Коэффициент на который умножается момент, для того чтобы система поняла что мы движемся в обратную сторону");
b.Property<int?>("ReverseSpeedSpZeroTime")
.HasColumnType("integer")
.HasColumnName("reverse_speed_sp_zero_time")
.HasComment("Время выдачи сигнала нулевой скорости на при смене направления");
b.Property<double?>("RevolsLeftLimit")
.HasColumnType("double precision")
.HasColumnName("revols_left_limit")
.HasComment("Ограничение числа оборотов влево");
b.Property<double?>("RevolsLeftTotal")
.HasColumnType("double precision")
.HasColumnName("revols_left_total")
.HasComment("Суммарное количество оборотов влево");
b.Property<double?>("RevolsRightLimit")
.HasColumnType("double precision")
.HasColumnName("revols_right_limit")
.HasComment("Ограничение числа оборотов вправо");
b.Property<double?>("RevolsRightTotal")
.HasColumnType("double precision")
.HasColumnName("revols_right_total")
.HasComment("Суммарное количество оборотов вправо");
b.Property<double?>("RotorTorqueAvg")
.HasColumnType("double precision")
.HasColumnName("rotor_torque_avg")
.HasComment(" Момент в роторе средний");
b.Property<double?>("SpeedLeftSp")
.HasColumnType("double precision")
.HasColumnName("speed_left_sp")
.HasComment("Заданная скорость вращения влево");
b.Property<double?>("SpeedRightSp")
.HasColumnType("double precision")
.HasColumnName("speed_right_sp")
.HasComment("Заданная скорость вращения вправо");
b.Property<int?>("State")
.HasColumnType("integer")
.HasColumnName("state")
.HasComment("Переменная этапа");
b.Property<double?>("TopDriveSpeed")
.HasColumnType("double precision")
.HasColumnName("top_drive_speed")
.HasComment("Скорость СВП");
b.Property<int?>("TopDriveSpeedErr")
.HasColumnType("integer")
.HasColumnName("top_drive_speed_err");
b.Property<double?>("TopDriveSpeedMax")
.HasColumnType("double precision")
.HasColumnName("top_drive_speed_max")
.HasComment("верхний предел");
b.Property<double?>("TopDriveSpeedMin")
.HasColumnType("double precision")
.HasColumnName("top_drive_speed_min")
.HasComment("нижний предел");
b.Property<double?>("TopDriveSpeedOffset")
.HasColumnType("double precision")
.HasColumnName("top_drive_speed_offset")
.HasComment("смещение");
b.Property<double?>("TopDriveSpeedSpFrom")
.HasColumnType("double precision")
.HasColumnName("top_drive_speed_sp_from")
.HasComment("Заданная скорость c СВП");
b.Property<int?>("TopDriveSpeedSpFromErr")
.HasColumnType("integer")
.HasColumnName("top_drive_speed_sp_from_err");
b.Property<double?>("TopDriveSpeedSpFromMax")
.HasColumnType("double precision")
.HasColumnName("top_drive_speed_sp_from_max");
b.Property<double?>("TopDriveSpeedSpFromMin")
.HasColumnType("double precision")
.HasColumnName("top_drive_speed_sp_from_min");
b.Property<double?>("TopDriveSpeedSpFromOffset")
.HasColumnType("double precision")
.HasColumnName("top_drive_speed_sp_from_offset");
b.Property<double?>("TopDriveSpeedSpTo")
.HasColumnType("double precision")
.HasColumnName("top_drive_speed_sp_to")
.HasComment("Задание скорости на СВП");
b.Property<int?>("TopDriveSpeedSpToErr")
.HasColumnType("integer")
.HasColumnName("top_drive_speed_sp_to_err");
b.Property<double?>("TopDriveSpeedSpToMax")
.HasColumnType("double precision")
.HasColumnName("top_drive_speed_sp_to_max");
b.Property<double?>("TopDriveSpeedSpToMin")
.HasColumnType("double precision")
.HasColumnName("top_drive_speed_sp_to_min");
b.Property<double?>("TopDriveSpeedSpToOffset")
.HasColumnType("double precision")
.HasColumnName("top_drive_speed_sp_to_offset");
b.Property<double?>("TopDriveTorque")
.HasColumnType("double precision")
.HasColumnName("top_drive_torque")
.HasComment("Момент СВП");
b.Property<int?>("TopDriveTorqueErr")
.HasColumnType("integer")
.HasColumnName("top_drive_torque_err");
b.Property<double?>("TopDriveTorqueMax")
.HasColumnType("double precision")
.HasColumnName("top_drive_torque_max");
b.Property<double?>("TopDriveTorqueMin")
.HasColumnType("double precision")
.HasColumnName("top_drive_torque_min");
b.Property<double?>("TopDriveTorqueOffset")
.HasColumnType("double precision")
.HasColumnName("top_drive_torque_offset");
b.Property<double?>("TopDriveTorqueSpFrom")
.HasColumnType("double precision")
.HasColumnName("top_drive_torque_sp_from")
.HasComment("Заданный момент c СВП");
b.Property<int?>("TopDriveTorqueSpFromErr")
.HasColumnType("integer")
.HasColumnName("top_drive_torque_sp_from_err");
b.Property<double?>("TopDriveTorqueSpFromMax")
.HasColumnType("double precision")
.HasColumnName("top_drive_torque_sp_from_max");
b.Property<double?>("TopDriveTorqueSpFromMin")
.HasColumnType("double precision")
.HasColumnName("top_drive_torque_sp_from_min");
b.Property<double?>("TopDriveTorqueSpFromOffset")
.HasColumnType("double precision")
.HasColumnName("top_drive_torque_sp_from_offset");
b.Property<double?>("TopDriveTorqueSpTo")
.HasColumnType("double precision")
.HasColumnName("top_drive_torque_sp_to")
.HasComment("Задание момента на СВП");
b.Property<int?>("TopDriveTorqueSpToErr")
.HasColumnType("integer")
.HasColumnName("top_drive_torque_sp_to_err");
b.Property<double?>("TopDriveTorqueSpToMax")
.HasColumnType("double precision")
.HasColumnName("top_drive_torque_sp_to_max");
b.Property<double?>("TopDriveTorqueSpToMin")
.HasColumnType("double precision")
.HasColumnName("top_drive_torque_sp_to_min");
b.Property<double?>("TopDriveTorqueSpToOffset")
.HasColumnType("double precision")
.HasColumnName("top_drive_torque_sp_to_offset");
b.Property<double?>("TorqueLeftLimit")
.HasColumnType("double precision")
.HasColumnName("torque_left_limit")
.HasComment("Ограничение крутящего момента влево");
b.Property<double?>("TorqueRampTime")
.HasColumnType("double precision")
.HasColumnName("torque_ramp_time")
.HasComment("Время нарастания момента");
b.Property<double?>("TorqueRightLimit")
.HasColumnType("double precision")
.HasColumnName("torque_right_limit")
.HasComment("Ограничение крутящего момента вправо");
b.Property<double?>("TorqueStarting")
.HasColumnType("double precision")
.HasColumnName("torque_starting")
.HasComment(" Страгивающий момент");
b.Property<double?>("TurnLeftOnceByAngle")
.HasColumnType("double precision")
.HasColumnName("turn_left_once_by_angle")
.HasComment("Доворот по градусам единожды влево");
b.Property<double?>("TurnLeftOnceByRevols")
.HasColumnType("double precision")
.HasColumnName("turn_left_once_by_revols")
.HasComment("Доворот по оборотам единожды влево");
b.Property<double?>("TurnLeftOnceByTorque")
.HasColumnType("double precision")
.HasColumnName("turn_left_once_by_torque")
.HasComment("Доворот по моменту единожды влево");
b.Property<double?>("TurnRightOnceByAngle")
.HasColumnType("double precision")
.HasColumnName("turn_right_once_by_angle")
.HasComment("Доворот по градусам единожды вправо");
b.Property<double?>("TurnRightOnceByRevols")
.HasColumnType("double precision")
.HasColumnName("turn_right_once_by_revols")
.HasComment("Доворот по оборотам единожды вправо");
b.Property<double?>("TurnRightOnceByTorque")
.HasColumnType("double precision")
.HasColumnName("turn_right_once_by_torque")
.HasComment("Доворот по моменту единожды вправо");
b.Property<double?>("UnlockBySectorOut")
.HasColumnType("double precision")
.HasColumnName("unlock_by_sector_out")
.HasComment(" Градус отклонения от сектора для автоматического сброса блокировки");
b.Property<double?>("Ver")
.HasColumnType("double precision")
.HasColumnName("ver")
.HasComment("Версия ПО ПЛК");
b.Property<int?>("W2800")
.HasColumnType("integer")
.HasColumnName("w2800")
.HasComment("Установка нуля энкодера");
b.Property<int?>("W2808")
.HasColumnType("integer")
.HasColumnName("w2808")
.HasComment("Неисправность энкодера");
b.Property<int?>("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<int>("IdTelemetry")
.HasColumnType("integer")
.HasColumnName("id_telemetry");
b.Property<int>("IdEvent")
.HasColumnType("integer")
.HasColumnName("id_event");
b.Property<int>("IdCategory")
.HasColumnType("integer")
.HasColumnName("id_category");
b.Property<string>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<string>("Arg0")
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("arg0")
.HasComment("Аргумент №0 для вставки в шаблон сообщения");
b.Property<string>("Arg1")
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("arg1");
b.Property<string>("Arg2")
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("arg2");
b.Property<string>("Arg3")
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("arg3");
b.Property<DateTime>("Date")
.HasColumnType("timestamp with time zone")
.HasColumnName("date");
b.Property<int>("IdEvent")
.HasColumnType("integer")
.HasColumnName("id_event");
b.Property<int>("IdTelemetry")
.HasColumnType("integer")
.HasColumnName("id_telemetry");
b.Property<int?>("IdTelemetryUser")
.HasColumnType("integer")
.HasColumnName("id_telemetry_user")
.HasComment("Пользователь панели отправляющей телеметрию. не пользователь облака.");
b.Property<double>("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<int>("IdTelemetry")
.HasColumnType("integer")
.HasColumnName("id_telemetry");
b.Property<int>("IdUser")
.HasColumnType("integer")
.HasColumnName("id_user");
b.Property<int?>("Level")
.HasColumnType("integer")
.HasColumnName("level");
b.Property<string>("Name")
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("name");
b.Property<string>("Patronymic")
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("patronymic");
b.Property<string>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<string>("Email")
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("email")
.HasComment("должность");
b.Property<int?>("IdCompany")
.HasColumnType("integer")
.HasColumnName("id_company");
b.Property<int?>("IdRole")
.HasColumnType("integer")
.HasColumnName("id_role");
b.Property<int?>("Level")
.HasColumnType("integer")
.HasColumnName("level");
b.Property<string>("Login")
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("login");
b.Property<string>("Name")
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("name")
.HasComment("имя");
b.Property<string>("PasswordHash")
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("password_hash")
.HasComment("соленый хэш пароля.\nпервые 5 символов - соль");
b.Property<string>("Patronymic")
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("patronymic")
.HasComment("отчество");
b.Property<string>("Phone")
.HasMaxLength(50)
.HasColumnType("character varying(50)")
.HasColumnName("phone")
.HasComment("номер телефона");
b.Property<string>("Position")
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("position")
.HasComment("email");
b.Property<short?>("State")
.HasColumnType("smallint")
.HasColumnName("state")
.HasComment("состояние:\n100 - удален");
b.Property<string>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<string>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<string>("Caption")
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("caption");
b.Property<int?>("IdCluster")
.HasColumnType("integer")
.HasColumnName("id_cluster");
b.Property<int?>("IdTelemetry")
.HasColumnType("integer")
.HasColumnName("id_telemetry");
b.Property<int?>("IdWellType")
.HasColumnType("integer")
.HasColumnName("id_well_type");
b.Property<double?>("Latitude")
.HasColumnType("double precision")
.HasColumnName("latitude");
b.Property<double?>("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.WellOperation", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<string>("CategoryInfo")
.HasColumnType("text")
.HasColumnName("category_info")
.HasComment("Доп. информация к выбраной категории");
b.Property<string>("Comment")
.HasColumnType("text")
.HasColumnName("comment")
.HasComment("Комментарий");
b.Property<double>("DurationHours")
.HasColumnType("double precision")
.HasColumnName("duration_hours")
.HasComment("Продолжительность в часах");
b.Property<int>("IdCategory")
.HasColumnType("integer")
.HasColumnName("id_category")
.HasComment("Id категории операции");
b.Property<int>("IdType")
.HasColumnType("integer")
.HasColumnName("id_type")
.HasComment("0 = План или 1 = Факт");
b.Property<int>("IdWell")
.HasColumnType("integer")
.HasColumnName("id_well")
.HasComment("Id скважины");
b.Property<int>("IdWellSectionType")
.HasColumnType("integer")
.HasColumnName("id_well_section_type")
.HasComment("Id тип секции скважины");
b.Property<DateTime>("StartDate")
.HasColumnType("timestamp without time zone")
.HasColumnName("date")
.HasComment("Дата начала операции");
b.Property<double>("WellDepth")
.HasColumnType("double precision")
.HasColumnName("depth")
.HasComment("Глубина, на которой производилась операция");
b.HasKey("Id");
b.HasIndex("IdCategory");
b.HasIndex("IdWell");
b.HasIndex("IdWellSectionType");
b.HasIndex("StartDate");
b.HasIndex("WellDepth");
b.ToTable("t_well_operation");
b
.HasComment("Данные по операциям на скважине");
});
modelBuilder.Entity("AsbCloudDb.Model.WellOperationCategory", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<int>("Code")
.HasColumnType("integer")
.HasColumnName("code")
.HasComment("Код операции");
b.Property<string>("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 = 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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<string>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<string>("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.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.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("WellOperations");
});
modelBuilder.Entity("AsbCloudDb.Model.WellOperationCategory", b =>
{
b.Navigation("Analysis");
});
modelBuilder.Entity("AsbCloudDb.Model.WellSectionType", b =>
{
b.Navigation("WellOperations");
});
modelBuilder.Entity("AsbCloudDb.Model.WellType", b =>
{
b.Navigation("Wells");
});
#pragma warning restore 612, 618
}
}
}