DD.WellWorkover.Cloud/AsbCloudDb/Migrations/20211130122321_Renamed_PermissionCollections.Designer.cs
2021-11-30 17:25:08 +05:00

2894 lines
120 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("20211130122321_Renamed_PermissionCollections")]
partial class Renamed_PermissionCollections
{
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<FilePublishInfo>("PublishInfo")
.HasColumnType("jsonb")
.HasColumnName("publish_info")
.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.FileMark", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<string>("Comment")
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("comment")
.HasComment("Комментарий");
b.Property<DateTime>("DateCreated")
.HasColumnType("timestamp without time zone")
.HasColumnName("date_created")
.HasComment("Дата совершенного действия");
b.Property<int>("IdFile")
.HasColumnType("integer")
.HasColumnName("id_file")
.HasComment("id файла");
b.Property<int>("IdMarkType")
.HasColumnType("integer")
.HasColumnName("id_mark_type")
.HasComment("0 - Согласован");
b.Property<int>("IdUser")
.HasColumnType("integer")
.HasColumnName("id_user")
.HasComment("id пользователя");
b.Property<bool>("IsDeleted")
.HasColumnType("boolean")
.HasColumnName("is_deleted")
.HasComment("Помечен ли файл как удаленный");
b.HasKey("Id");
b.HasIndex("IdFile");
b.HasIndex("IdUser");
b.ToTable("t_file_mark");
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.Permission", b =>
{
b.Property<int>("IdRole")
.HasColumnType("integer")
.HasColumnName("id_user_role");
b.Property<int>("IdPermission")
.HasColumnType("integer")
.HasColumnName("id_permission");
b.Property<int>("PermissionValue")
.HasColumnType("integer")
.HasColumnName("permission_value");
b.HasKey("IdRole", "IdPermission");
b.HasIndex("IdPermission");
b.ToTable("t_permission");
b
.HasComment("Отношение ролей пользователей и разрешений доступа");
});
modelBuilder.Entity("AsbCloudDb.Model.PermissionInfo", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<IDictionary<int, string>>("BitDescription")
.HasColumnType("jsonb")
.HasColumnName("bit_description")
.HasComment("Описание каждого бита разрешений");
b.Property<string>("Description")
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("description")
.HasComment("Краткое описание");
b.Property<string>("Name")
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("name")
.HasComment("Название");
b.HasKey("Id");
b.ToTable("t_permission_info");
b
.HasComment("Разрешения на доступ к данным");
});
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.RelationUserUserRole", b =>
{
b.Property<int>("IdUser")
.HasColumnType("integer")
.HasColumnName("id_user");
b.Property<int>("IdUserRole")
.HasColumnType("integer")
.HasColumnName("id_user_role");
b.HasKey("IdUser", "IdUserRole");
b.HasIndex("IdUserRole");
b.ToTable("t_relation_user_user_role");
b
.HasComment("Отношение пользователей и ролей");
b.HasData(
new
{
IdUser = 1,
IdUserRole = 2
});
});
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.Property<TelemetryTimeZone>("TelemetryTimeZone")
.HasColumnType("jsonb")
.HasColumnName("timezone")
.HasComment("Смещение часового пояса от UTC");
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>("IdTelemetry")
.HasColumnType("integer")
.HasColumnName("id_telemetry");
b.Property<DateTime>("Date")
.HasColumnType("timestamp with time zone")
.HasColumnName("date")
.HasComment("'2021-10-19 18:23:54+05'");
b.Property<float?>("AxialLoad")
.HasColumnType("real")
.HasColumnName("axial_load")
.HasComment("Осевая нагрузка");
b.Property<float?>("AxialLoadLimitMax")
.HasColumnType("real")
.HasColumnName("axial_load_limit_max")
.HasComment("Осевая нагрузка. Аварийная макс.");
b.Property<float?>("AxialLoadSp")
.HasColumnType("real")
.HasColumnName("axial_load_sp")
.HasComment("Осевая нагрузка. Задание");
b.Property<float?>("BitDepth")
.HasColumnType("real")
.HasColumnName("bit_depth")
.HasComment("Положение инструмента");
b.Property<float?>("BlockPosition")
.HasColumnType("real")
.HasColumnName("block_position")
.HasComment("Высота талевого блока");
b.Property<float?>("BlockPositionMax")
.HasColumnType("real")
.HasColumnName("block_position_max")
.HasComment("Талевый блок. Макс положение");
b.Property<float?>("BlockPositionMin")
.HasColumnType("real")
.HasColumnName("block_position_min")
.HasComment("Талевый блок. Мин положение");
b.Property<float?>("BlockSpeed")
.HasColumnType("real")
.HasColumnName("block_speed")
.HasComment("Скорость талевого блока");
b.Property<float?>("BlockSpeedSp")
.HasColumnType("real")
.HasColumnName("block_speed_sp")
.HasComment("Скорости талевого блока. Задание");
b.Property<float?>("BlockSpeedSpDevelop")
.HasColumnType("real")
.HasColumnName("block_speed_sp_develop")
.HasComment("Талевый блок. Задание скорости для проработки");
b.Property<float?>("BlockSpeedSpRotor")
.HasColumnType("real")
.HasColumnName("block_speed_sp_rotor")
.HasComment("Талевый блок. Задание скорости для роторного бурения");
b.Property<float?>("BlockSpeedSpSlide")
.HasColumnType("real")
.HasColumnName("block_speed_sp_slide")
.HasComment("Талевый блок. Задание скорости для режима слайда");
b.Property<float?>("Flow")
.HasColumnType("real")
.HasColumnName("flow")
.HasComment("Расход");
b.Property<float?>("FlowDeltaLimitMax")
.HasColumnType("real")
.HasColumnName("flow_delta_limit_max")
.HasComment("Расход. Аварийный макс.");
b.Property<float?>("FlowIdle")
.HasColumnType("real")
.HasColumnName("flow_idle")
.HasComment("Расход. Холостой ход");
b.Property<float?>("HookWeight")
.HasColumnType("real")
.HasColumnName("hook_weight")
.HasComment("Вес на крюке");
b.Property<float?>("HookWeightIdle")
.HasColumnType("real")
.HasColumnName("hook_weight_idle")
.HasComment("Вес на крюке. Холостой ход");
b.Property<float?>("HookWeightLimitMax")
.HasColumnType("real")
.HasColumnName("hook_weight_limit_max")
.HasComment("Вес на крюке. Затяжка");
b.Property<float?>("HookWeightLimitMin")
.HasColumnType("real")
.HasColumnName("hook_weight_limit_min")
.HasComment("Вес на крюке. Посадка");
b.Property<short?>("IdFeedRegulator")
.HasColumnType("smallint")
.HasColumnName("id_feed_regulator")
.HasComment("Текущий критерий бурения");
b.Property<int?>("IdUser")
.HasColumnType("integer")
.HasColumnName("id_user")
.HasComment("Пользователь САУБ");
b.Property<short?>("Mode")
.HasColumnType("smallint")
.HasColumnName("mode")
.HasComment("Режим САУБ");
b.Property<short?>("MseState")
.HasColumnType("smallint")
.HasColumnName("mse_state")
.HasComment("Текущее состояние работы MSE");
b.Property<float?>("Pressure")
.HasColumnType("real")
.HasColumnName("pressure")
.HasComment("Давление");
b.Property<float?>("PressureDeltaLimitMax")
.HasColumnType("real")
.HasColumnName("pressure_delta_limit_max")
.HasComment("Давление дифф. Аварийное макс.");
b.Property<float?>("PressureIdle")
.HasColumnType("real")
.HasColumnName("pressure_idle")
.HasComment("Давление. Холостой ход");
b.Property<float?>("PressureSp")
.HasColumnType("real")
.HasColumnName("pressure_sp")
.HasComment("Давление. Задание");
b.Property<float?>("PressureSpDevelop")
.HasColumnType("real")
.HasColumnName("pressure_sp_develop")
.HasComment("Давление. Задание для проработки");
b.Property<float?>("PressureSpRotor")
.HasColumnType("real")
.HasColumnName("pressure_sp_rotor")
.HasComment("Давление. Задание для роторного бурения");
b.Property<float?>("PressureSpSlide")
.HasColumnType("real")
.HasColumnName("pressure_sp_slide")
.HasComment("Давление. Задание для режима слайда");
b.Property<float?>("RotorSpeed")
.HasColumnType("real")
.HasColumnName("rotor_speed")
.HasComment("Обороты ротора");
b.Property<float?>("RotorTorque")
.HasColumnType("real")
.HasColumnName("rotor_torque")
.HasComment("Момент на роторе");
b.Property<float?>("RotorTorqueIdle")
.HasColumnType("real")
.HasColumnName("rotor_torque_idle")
.HasComment("Момент на роторе. Холостой ход");
b.Property<float?>("RotorTorqueLimitMax")
.HasColumnType("real")
.HasColumnName("rotor_torque_limit_max")
.HasComment("Момент на роторе. Аварийный макс.");
b.Property<float?>("RotorTorqueSp")
.HasColumnType("real")
.HasColumnName("rotor_torque_sp")
.HasComment("Момент на роторе. Задание");
b.Property<float?>("WellDepth")
.HasColumnType("real")
.HasColumnName("well_depth")
.HasComment("Глубина забоя");
b.HasKey("IdTelemetry", "Date");
b.ToTable("t_telemetry_data_saub");
b
.HasComment("набор основных данных по SAUB");
});
modelBuilder.Entity("AsbCloudDb.Model.TelemetryDataSpin", b =>
{
b.Property<int>("IdTelemetry")
.HasColumnType("integer")
.HasColumnName("id_telemetry");
b.Property<DateTime>("Date")
.HasColumnType("timestamp with time zone")
.HasColumnName("date")
.HasComment("'2021-10-19 18:23:54+05'");
b.Property<float?>("BreakAngleK")
.HasColumnType("real")
.HasColumnName("break_angle_k")
.HasComment("Коэффициент для расчёта за какой угол нужно тормозить");
b.Property<float?>("BreakAngleLeft")
.HasColumnType("real")
.HasColumnName("break_angle_left")
.HasComment("Угол торможения влево при работе по моменту");
b.Property<float?>("EncoderResolution")
.HasColumnType("real")
.HasColumnName("encoder_resolution")
.HasComment(" Разрешение энкодера");
b.Property<short?>("Mode")
.HasColumnType("smallint")
.HasColumnName("mode")
.HasComment("Выбранный режим управления");
b.Property<float?>("PidMuxTorqueLeftLimit")
.HasColumnType("real")
.HasColumnName("pid_mux_torque_left_limit")
.HasComment(" Момент при котором определяется ехать назад по моменту или по скорости");
b.Property<float?>("PositionRight")
.HasColumnType("real")
.HasColumnName("position_right")
.HasComment("Крайний правый угол осциляции");
b.Property<float?>("PositionZero")
.HasColumnType("real")
.HasColumnName("position_zero")
.HasComment("Нулевая позиция осциляции");
b.Property<float?>("Ratio")
.HasColumnType("real")
.HasColumnName("ratio")
.HasComment(" Коэффициент редукции редектора");
b.Property<float?>("ReverseKTorque")
.HasColumnType("real")
.HasColumnName("reverse_k_torque")
.HasComment("Коэффициент на который умножается момент, для того чтобы система поняла что мы движемся в обратную сторону");
b.Property<short?>("ReverseSpeedSpZeroTime")
.HasColumnType("smallint")
.HasColumnName("reverse_speed_sp_zero_time")
.HasComment("Время выдачи сигнала нулевой скорости на при смене направления");
b.Property<float?>("RevolsLeftLimit")
.HasColumnType("real")
.HasColumnName("revols_left_limit")
.HasComment("Ограничение числа оборотов влево");
b.Property<float?>("RevolsLeftTotal")
.HasColumnType("real")
.HasColumnName("revols_left_total")
.HasComment("Суммарное количество оборотов влево");
b.Property<float?>("RevolsRightLimit")
.HasColumnType("real")
.HasColumnName("revols_right_limit")
.HasComment("Ограничение числа оборотов вправо");
b.Property<float?>("RevolsRightTotal")
.HasColumnType("real")
.HasColumnName("revols_right_total")
.HasComment("Суммарное количество оборотов вправо");
b.Property<float?>("RotorTorqueAvg")
.HasColumnType("real")
.HasColumnName("rotor_torque_avg")
.HasComment(" Момент в роторе средний");
b.Property<float?>("SpeedLeftSp")
.HasColumnType("real")
.HasColumnName("speed_left_sp")
.HasComment("Заданная скорость вращения влево");
b.Property<float?>("SpeedRightSp")
.HasColumnType("real")
.HasColumnName("speed_right_sp")
.HasComment("Заданная скорость вращения вправо");
b.Property<short?>("State")
.HasColumnType("smallint")
.HasColumnName("state")
.HasComment("Переменная этапа");
b.Property<float?>("TopDriveSpeed")
.HasColumnType("real")
.HasColumnName("top_drive_speed")
.HasComment("Скорость СВП");
b.Property<short?>("TopDriveSpeedErr")
.HasColumnType("smallint")
.HasColumnName("top_drive_speed_err");
b.Property<float?>("TopDriveSpeedMax")
.HasColumnType("real")
.HasColumnName("top_drive_speed_max")
.HasComment("верхний предел");
b.Property<float?>("TopDriveSpeedMin")
.HasColumnType("real")
.HasColumnName("top_drive_speed_min")
.HasComment("нижний предел");
b.Property<float?>("TopDriveSpeedOffset")
.HasColumnType("real")
.HasColumnName("top_drive_speed_offset")
.HasComment("смещение");
b.Property<float?>("TopDriveSpeedSpFrom")
.HasColumnType("real")
.HasColumnName("top_drive_speed_sp_from")
.HasComment("Заданная скорость c СВП");
b.Property<short?>("TopDriveSpeedSpFromErr")
.HasColumnType("smallint")
.HasColumnName("top_drive_speed_sp_from_err");
b.Property<float?>("TopDriveSpeedSpFromMax")
.HasColumnType("real")
.HasColumnName("top_drive_speed_sp_from_max");
b.Property<float?>("TopDriveSpeedSpFromMin")
.HasColumnType("real")
.HasColumnName("top_drive_speed_sp_from_min");
b.Property<float?>("TopDriveSpeedSpFromOffset")
.HasColumnType("real")
.HasColumnName("top_drive_speed_sp_from_offset");
b.Property<float?>("TopDriveSpeedSpTo")
.HasColumnType("real")
.HasColumnName("top_drive_speed_sp_to")
.HasComment("Задание скорости на СВП");
b.Property<short?>("TopDriveSpeedSpToErr")
.HasColumnType("smallint")
.HasColumnName("top_drive_speed_sp_to_err");
b.Property<float?>("TopDriveSpeedSpToMax")
.HasColumnType("real")
.HasColumnName("top_drive_speed_sp_to_max");
b.Property<float?>("TopDriveSpeedSpToMin")
.HasColumnType("real")
.HasColumnName("top_drive_speed_sp_to_min");
b.Property<float?>("TopDriveSpeedSpToOffset")
.HasColumnType("real")
.HasColumnName("top_drive_speed_sp_to_offset");
b.Property<float?>("TopDriveTorque")
.HasColumnType("real")
.HasColumnName("top_drive_torque")
.HasComment("Момент СВП");
b.Property<short?>("TopDriveTorqueErr")
.HasColumnType("smallint")
.HasColumnName("top_drive_torque_err");
b.Property<float?>("TopDriveTorqueMax")
.HasColumnType("real")
.HasColumnName("top_drive_torque_max");
b.Property<float?>("TopDriveTorqueMin")
.HasColumnType("real")
.HasColumnName("top_drive_torque_min");
b.Property<float?>("TopDriveTorqueOffset")
.HasColumnType("real")
.HasColumnName("top_drive_torque_offset");
b.Property<float?>("TopDriveTorqueSpFrom")
.HasColumnType("real")
.HasColumnName("top_drive_torque_sp_from")
.HasComment("Заданный момент c СВП");
b.Property<short?>("TopDriveTorqueSpFromErr")
.HasColumnType("smallint")
.HasColumnName("top_drive_torque_sp_from_err");
b.Property<float?>("TopDriveTorqueSpFromMax")
.HasColumnType("real")
.HasColumnName("top_drive_torque_sp_from_max");
b.Property<float?>("TopDriveTorqueSpFromMin")
.HasColumnType("real")
.HasColumnName("top_drive_torque_sp_from_min");
b.Property<float?>("TopDriveTorqueSpFromOffset")
.HasColumnType("real")
.HasColumnName("top_drive_torque_sp_from_offset");
b.Property<float?>("TopDriveTorqueSpTo")
.HasColumnType("real")
.HasColumnName("top_drive_torque_sp_to")
.HasComment("Задание момента на СВП");
b.Property<short?>("TopDriveTorqueSpToErr")
.HasColumnType("smallint")
.HasColumnName("top_drive_torque_sp_to_err");
b.Property<float?>("TopDriveTorqueSpToMax")
.HasColumnType("real")
.HasColumnName("top_drive_torque_sp_to_max");
b.Property<float?>("TopDriveTorqueSpToMin")
.HasColumnType("real")
.HasColumnName("top_drive_torque_sp_to_min");
b.Property<float?>("TopDriveTorqueSpToOffset")
.HasColumnType("real")
.HasColumnName("top_drive_torque_sp_to_offset");
b.Property<float?>("TorqueLeftLimit")
.HasColumnType("real")
.HasColumnName("torque_left_limit")
.HasComment("Ограничение крутящего момента влево");
b.Property<float?>("TorqueRampTime")
.HasColumnType("real")
.HasColumnName("torque_ramp_time")
.HasComment("Время нарастания момента");
b.Property<float?>("TorqueRightLimit")
.HasColumnType("real")
.HasColumnName("torque_right_limit")
.HasComment("Ограничение крутящего момента вправо");
b.Property<float?>("TorqueStarting")
.HasColumnType("real")
.HasColumnName("torque_starting")
.HasComment(" Страгивающий момент");
b.Property<float?>("TurnLeftOnceByAngle")
.HasColumnType("real")
.HasColumnName("turn_left_once_by_angle")
.HasComment("Доворот по градусам единожды влево");
b.Property<float?>("TurnLeftOnceByRevols")
.HasColumnType("real")
.HasColumnName("turn_left_once_by_revols")
.HasComment("Доворот по оборотам единожды влево");
b.Property<float?>("TurnLeftOnceByTorque")
.HasColumnType("real")
.HasColumnName("turn_left_once_by_torque")
.HasComment("Доворот по моменту единожды влево");
b.Property<float?>("TurnRightOnceByAngle")
.HasColumnType("real")
.HasColumnName("turn_right_once_by_angle")
.HasComment("Доворот по градусам единожды вправо");
b.Property<float?>("TurnRightOnceByRevols")
.HasColumnType("real")
.HasColumnName("turn_right_once_by_revols")
.HasComment("Доворот по оборотам единожды вправо");
b.Property<float?>("TurnRightOnceByTorque")
.HasColumnType("real")
.HasColumnName("turn_right_once_by_torque")
.HasComment("Доворот по моменту единожды вправо");
b.Property<float?>("UnlockBySectorOut")
.HasColumnType("real")
.HasColumnName("unlock_by_sector_out")
.HasComment(" Градус отклонения от сектора для автоматического сброса блокировки");
b.Property<float?>("Ver")
.HasColumnType("real")
.HasColumnName("ver")
.HasComment("Версия ПО ПЛК");
b.Property<short?>("W2800")
.HasColumnType("smallint")
.HasColumnName("w2800")
.HasComment("Установка нуля энкодера");
b.Property<short?>("W2808")
.HasColumnType("smallint")
.HasColumnName("w2808")
.HasComment("Неисправность энкодера");
b.Property<short?>("W2810")
.HasColumnType("smallint")
.HasColumnName("w2810")
.HasComment(" автоматический сброс блокировки");
b.HasKey("IdTelemetry", "Date");
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<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("Login")
.IsUnique();
b.ToTable("t_user");
b
.HasComment("Пользователи облака");
b.HasData(
new
{
Id = 1,
IdCompany = 1,
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.Property<int?>("IdParent")
.HasColumnType("integer")
.HasColumnName("id_parent")
.HasComment("От какой роли унаследована данная роль");
b.Property<int>("IdType")
.HasColumnType("integer")
.HasColumnName("id_type")
.HasComment("0-роль из стандартной матрицы, \n1-специальная роль для какого-либо пользователя");
b.HasKey("Id");
b.ToTable("t_user_role");
b
.HasComment("Роли пользователей в системе");
b.HasData(
new
{
Id = 1,
Caption = "Администратор",
IdType = 0
},
new
{
Id = 2,
Caption = "Пользователь",
IdType = 0
});
});
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.FileMark", b =>
{
b.HasOne("AsbCloudDb.Model.FileInfo", "FileInfo")
.WithMany("FileMarks")
.HasForeignKey("IdFile")
.HasConstraintName("t_file_mark_t_file_info_fk")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("AsbCloudDb.Model.User", "User")
.WithMany("FileMarks")
.HasForeignKey("IdUser")
.HasConstraintName("t_user_t_file_mark_fk")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("FileInfo");
b.Navigation("User");
});
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.Permission", b =>
{
b.HasOne("AsbCloudDb.Model.PermissionInfo", "PermissionInfo")
.WithMany("Permissions")
.HasForeignKey("IdPermission")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("AsbCloudDb.Model.UserRole", "UserRole")
.WithMany("Permissions")
.HasForeignKey("IdRole")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("PermissionInfo");
b.Navigation("UserRole");
});
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.RelationUserUserRole", b =>
{
b.HasOne("AsbCloudDb.Model.User", "User")
.WithMany("RelationUsersUserRoles")
.HasForeignKey("IdUser")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("AsbCloudDb.Model.UserRole", "UserRole")
.WithMany("RelationUsersUserRoles")
.HasForeignKey("IdUserRole")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("User");
b.Navigation("UserRole");
});
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.Navigation("Company");
});
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.FileInfo", b =>
{
b.Navigation("FileMarks");
});
modelBuilder.Entity("AsbCloudDb.Model.MeasureCategory", b =>
{
b.Navigation("Measures");
});
modelBuilder.Entity("AsbCloudDb.Model.PermissionInfo", b =>
{
b.Navigation("Permissions");
});
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("FileMarks");
b.Navigation("Files");
b.Navigation("RelationUsersUserRoles");
});
modelBuilder.Entity("AsbCloudDb.Model.UserRole", b =>
{
b.Navigation("Permissions");
b.Navigation("RelationUsersUserRoles");
});
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
}
}
}