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

2027 lines
79 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

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

// <auto-generated />
using System;
using System.Collections.Generic;
using AsbCloudDb.Model;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
namespace AsbCloudDb.Migrations
{
[DbContext(typeof(AsbCloudDbContext))]
partial class AsbCloudDbContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasPostgresExtension("adminpack")
.UseIdentityByDefaultColumns()
.HasAnnotation("Relational:Collation", "Russian_Russia.1251")
.HasAnnotation("Relational:MaxIdentifierLength", 63)
.HasAnnotation("ProductVersion", "5.0.2");
modelBuilder.Entity("AsbCloudDb.Model.Cluster", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.UseIdentityByDefaultColumn();
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")
.UseIdentityByDefaultColumn();
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")
.UseIdentityByDefaultColumn();
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.DataSaubBase", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.UseIdentityByDefaultColumn();
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_data_saub_base");
b
.HasComment("набор основных данных по SAUB");
});
modelBuilder.Entity("AsbCloudDb.Model.Deposit", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.UseIdentityByDefaultColumn();
b.Property<string>("Caption")
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("caption");
b.Property<double?>("Latitude")
.HasColumnType("double precision")
.HasColumnName("latitude");
b.Property<double?>("Longitude")
.HasColumnType("double precision")
.HasColumnName("longitude");
b.HasKey("Id");
b.ToTable("t_deposit");
b
.HasComment("Месторождение");
});
modelBuilder.Entity("AsbCloudDb.Model.FileCategory", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.UseIdentityByDefaultColumn();
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")
.UseIdentityByDefaultColumn();
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")
.UseIdentityByDefaultColumn();
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")
.UseIdentityByDefaultColumn();
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")
.UseIdentityByDefaultColumn();
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")
.UseIdentityByDefaultColumn();
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")
.UseIdentityByDefaultColumn();
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>("IsRotorSpeedGt3")
.HasColumnType("boolean")
.HasColumnName("is_rotor_speed_gt_3")
.HasComment("Обороты ротора выше 3");
b.Property<bool>("IsRotorSpeedLt3")
.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.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")
.UseIdentityByDefaultColumn();
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.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")
.UseIdentityByDefaultColumn();
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")
.UseIdentityByDefaultColumn();
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")
.UseIdentityByDefaultColumn();
b.Property<string>("Caption")
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("caption");
b.Property<int?>("IdCluster")
.HasColumnType("integer")
.HasColumnName("id_cluster");
b.Property<int?>("IdTelemetry")
.HasColumnType("integer")
.HasColumnName("id_telemetry");
b.Property<int?>("IdWellType")
.HasColumnType("integer")
.HasColumnName("id_well_type");
b.Property<double?>("Latitude")
.HasColumnType("double precision")
.HasColumnName("latitude");
b.Property<double?>("Longitude")
.HasColumnType("double precision")
.HasColumnName("longitude");
b.HasKey("Id");
b.HasIndex("IdCluster");
b.HasIndex("IdTelemetry")
.IsUnique();
b.HasIndex("IdWellType");
b.ToTable("t_well");
b
.HasComment("скважины");
});
modelBuilder.Entity("AsbCloudDb.Model.WellOperation", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.UseIdentityByDefaultColumn();
b.Property<string>("CategoryInfo")
.HasColumnType("text")
.HasColumnName("category_info")
.HasComment("Доп. информация к выбраной категории");
b.Property<string>("Comment")
.HasColumnType("text")
.HasColumnName("comment")
.HasComment("Комментарий");
b.Property<double>("DurationHours")
.HasColumnType("double precision")
.HasColumnName("duration_hours")
.HasComment("Продолжительность в часах");
b.Property<int>("IdCategory")
.HasColumnType("integer")
.HasColumnName("id_category")
.HasComment("Id категории операции");
b.Property<int>("IdType")
.HasColumnType("integer")
.HasColumnName("id_type")
.HasComment("0 = План или 1 = Факт");
b.Property<int>("IdWell")
.HasColumnType("integer")
.HasColumnName("id_well")
.HasComment("Id скважины");
b.Property<int>("IdWellSectionType")
.HasColumnType("integer")
.HasColumnName("id_well_section_type")
.HasComment("Id тип секции скважины");
b.Property<DateTime>("StartDate")
.HasColumnType("timestamp without time zone")
.HasColumnName("date")
.HasComment("Дата начала операции");
b.Property<double>("WellDepth")
.HasColumnType("double precision")
.HasColumnName("depth")
.HasComment("Глубина, на которой производилась операция");
b.HasKey("Id");
b.HasIndex("IdCategory");
b.HasIndex("IdWell");
b.HasIndex("IdWellSectionType");
b.HasIndex("StartDate");
b.HasIndex("WellDepth");
b.ToTable("t_well_operation");
b
.HasComment("Данные по операциям на скважине");
});
modelBuilder.Entity("AsbCloudDb.Model.WellOperationCategory", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.UseIdentityByDefaultColumn();
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 = "Спуск ОК"
});
});
modelBuilder.Entity("AsbCloudDb.Model.WellSectionType", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.UseIdentityByDefaultColumn();
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")
.UseIdentityByDefaultColumn();
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.DataSaubBase", b =>
{
b.HasOne("AsbCloudDb.Model.Telemetry", "Telemetry")
.WithMany("DataSaubBases")
.HasForeignKey("IdTelemetry")
.HasConstraintName("t_data_saub_base_t_telemetry_id_fk")
.IsRequired();
b.Navigation("Telemetry");
});
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.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")
.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");
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");
b.HasOne("AsbCloudDb.Model.WellType", "WellType")
.WithMany("Wells")
.HasForeignKey("IdWellType");
b.Navigation("Cluster");
b.Navigation("Telemetry");
b.Navigation("WellType");
});
modelBuilder.Entity("AsbCloudDb.Model.WellOperation", b =>
{
b.HasOne("AsbCloudDb.Model.WellOperationCategory", "OperationCategory")
.WithMany()
.HasForeignKey("IdCategory")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("AsbCloudDb.Model.Well", "Well")
.WithMany("WellOperations")
.HasForeignKey("IdWell")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("AsbCloudDb.Model.WellSectionType", "WellSectionType")
.WithMany("WellOperations")
.HasForeignKey("IdWellSectionType")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("OperationCategory");
b.Navigation("Well");
b.Navigation("WellSectionType");
});
modelBuilder.Entity("AsbCloudDb.Model.Cluster", b =>
{
b.Navigation("Wells");
});
modelBuilder.Entity("AsbCloudDb.Model.Company", b =>
{
b.Navigation("RelationCompaniesWells");
b.Navigation("Users");
});
modelBuilder.Entity("AsbCloudDb.Model.CompanyType", b =>
{
b.Navigation("Companies");
});
modelBuilder.Entity("AsbCloudDb.Model.Deposit", b =>
{
b.Navigation("Clusters");
});
modelBuilder.Entity("AsbCloudDb.Model.MeasureCategory", b =>
{
b.Navigation("Measures");
});
modelBuilder.Entity("AsbCloudDb.Model.Telemetry", b =>
{
b.Navigation("Analysis");
b.Navigation("DataSaubBases");
b.Navigation("Events");
b.Navigation("Messages");
b.Navigation("Users");
b.Navigation("Well");
});
modelBuilder.Entity("AsbCloudDb.Model.User", b =>
{
b.Navigation("Files");
});
modelBuilder.Entity("AsbCloudDb.Model.UserRole", b =>
{
b.Navigation("Users");
});
modelBuilder.Entity("AsbCloudDb.Model.Well", b =>
{
b.Navigation("RelationCompaniesWells");
b.Navigation("WellOperations");
});
modelBuilder.Entity("AsbCloudDb.Model.WellOperationCategory", b =>
{
b.Navigation("Analysis");
});
modelBuilder.Entity("AsbCloudDb.Model.WellSectionType", b =>
{
b.Navigation("WellOperations");
});
modelBuilder.Entity("AsbCloudDb.Model.WellType", b =>
{
b.Navigation("Wells");
});
#pragma warning restore 612, 618
}
}
}