DD.WellWorkover.Cloud/AsbCloudDb/Migrations/20211020053649_Rename_Well_State_to_IdState.Designer.cs
2021-10-20 11:21:14 +05:00

2696 lines
113 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.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
namespace AsbCloudDb.Migrations
{
[DbContext(typeof(AsbCloudDbContext))]
[Migration("20211020053649_Rename_Well_State_to_IdState")]
partial class Rename_Well_State_to_IdState
{
protected override void BuildTargetModel(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.DrillFlowChart", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<double>("AxialLoadMax")
.HasColumnType("double precision")
.HasColumnName("axial_load_max")
.HasComment("Максимальная нагрузка");
b.Property<double>("AxialLoadMin")
.HasColumnType("double precision")
.HasColumnName("axial_load_min")
.HasComment("Минимальная нагрузка");
b.Property<double>("DepthEnd")
.HasColumnType("double precision")
.HasColumnName("depth_end")
.HasComment("Глубина окончания интервала");
b.Property<double>("DepthStart")
.HasColumnType("double precision")
.HasColumnName("depth_start")
.HasComment("Стартовая глубина");
b.Property<double>("FlowMax")
.HasColumnType("double precision")
.HasColumnName("flow_max")
.HasComment("Максимальный расход");
b.Property<double>("FlowMin")
.HasColumnType("double precision")
.HasColumnName("flow_min")
.HasComment("Минимальный расход");
b.Property<int>("IdWell")
.HasColumnType("integer")
.HasColumnName("well_id")
.HasComment("Id скважины");
b.Property<int>("IdWellOperationCategory")
.HasColumnType("integer")
.HasColumnName("id_operation_category")
.HasComment("Id типа операции");
b.Property<DateTime>("LastUpdate")
.HasColumnType("timestamp without time zone")
.HasColumnName("last_update")
.HasComment("Дата последнего изменения");
b.Property<double>("PressureMax")
.HasColumnType("double precision")
.HasColumnName("pressure_max")
.HasComment("Максимальное давление");
b.Property<double>("PressureMin")
.HasColumnType("double precision")
.HasColumnName("pressure_min")
.HasComment("Минимальное давление");
b.Property<double>("RotorSpeedMax")
.HasColumnType("double precision")
.HasColumnName("rotor_speed_max")
.HasComment("Максимальные обороты на ВСП");
b.Property<double>("RotorSpeedMin")
.HasColumnType("double precision")
.HasColumnName("rotor_speed_min")
.HasComment("Минимальные обороты на ВСП");
b.Property<double>("RotorTorqueMax")
.HasColumnType("double precision")
.HasColumnName("rotor_torque_max")
.HasComment("Максимальный момент на ВСП");
b.Property<double>("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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<double>("AxialLoadAvg")
.HasColumnType("double precision")
.HasColumnName("axial_load_avg")
.HasComment("Средняя нагрузка");
b.Property<double>("AxialLoadMax")
.HasColumnType("double precision")
.HasColumnName("axial_load_max")
.HasComment("Максимальная нагрузка");
b.Property<double>("AxialLoadMin")
.HasColumnType("double precision")
.HasColumnName("axial_load_min")
.HasComment("Минимальная нагрузка");
b.Property<double>("DepthEnd")
.HasColumnType("double precision")
.HasColumnName("depth_end")
.HasComment("Глубина окончания интервала");
b.Property<double>("DepthStart")
.HasColumnType("double precision")
.HasColumnName("depth_start")
.HasComment("Стартовая глубина");
b.Property<double>("FlowAvg")
.HasColumnType("double precision")
.HasColumnName("flow_avg")
.HasComment("Средний расход");
b.Property<double>("FlowMax")
.HasColumnType("double precision")
.HasColumnName("flow_max")
.HasComment("Максимальный расход");
b.Property<double>("FlowMin")
.HasColumnType("double precision")
.HasColumnName("flow_min")
.HasComment("Минимальный расход");
b.Property<int>("IdWell")
.HasColumnType("integer")
.HasColumnName("well_id")
.HasComment("Id скважины");
b.Property<int>("IdWellSectionType")
.HasColumnType("integer")
.HasColumnName("id_wellsection_type")
.HasComment("Id с типом секции скважины");
b.Property<double>("PressureAvg")
.HasColumnType("double precision")
.HasColumnName("pressure_avg")
.HasComment("Среднее давление");
b.Property<double>("PressureMax")
.HasColumnType("double precision")
.HasColumnName("pressure_max")
.HasComment("Максимальное давление");
b.Property<double>("PressureMin")
.HasColumnType("double precision")
.HasColumnName("pressure_min")
.HasComment("Минимальное давление");
b.Property<double>("RotorSpeedAvg")
.HasColumnType("double precision")
.HasColumnName("rotor_speed_avg")
.HasComment("Средние обороты на ВСП");
b.Property<double>("RotorSpeedMax")
.HasColumnType("double precision")
.HasColumnName("rotor_speed_max")
.HasComment("Максимальные обороты на ВСП");
b.Property<double>("RotorSpeedMin")
.HasColumnType("double precision")
.HasColumnName("rotor_speed_min")
.HasComment("Минимальные обороты на ВСП");
b.Property<double>("RotorTorqueAvg")
.HasColumnType("double precision")
.HasColumnName("rotor_torque_avg")
.HasComment("Средний момент на ВСП");
b.Property<double>("RotorTorqueMax")
.HasColumnType("double precision")
.HasColumnName("rotor_torque_max")
.HasComment("Максимальный момент на ВСП");
b.Property<double>("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<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>("IdState")
.HasColumnType("integer")
.HasColumnName("state")
.HasComment("0 - неизвестно, 1 - в работе, 2 - завершена");
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.WellComposite", b =>
{
b.Property<int>("IdWell")
.HasColumnType("integer")
.HasColumnName("id_well")
.HasComment("Id скважины получателя");
b.Property<int>("IdWellSrc")
.HasColumnType("integer")
.HasColumnName("id_well_src")
.HasComment("Id скважины композита");
b.Property<int>("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<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<DateTime>("DateStart")
.HasColumnType("timestamp without time zone")
.HasColumnName("date_start")
.HasComment("Дата начала операции");
b.Property<double>("DepthEnd")
.HasColumnType("double precision")
.HasColumnName("depth_end")
.HasComment("Глубина после завершения операции, м");
b.Property<double>("DepthStart")
.HasColumnType("double precision")
.HasColumnName("depth_start")
.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.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<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 = 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<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.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
}
}
}