using line_gestao_api.Data; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace line_gestao_api.Migrations { [DbContext(typeof(AppDbContext))] [Migration("20260305193000_AddSolicitacaoLinhas")] public class AddSolicitacaoLinhas : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.Sql(""" CREATE TABLE IF NOT EXISTS "SolicitacaoLinhas" ( "Id" uuid NOT NULL, "TenantId" uuid NOT NULL, "MobileLineId" uuid NULL, "Linha" character varying(30) NULL, "UsuarioLinha" character varying(200) NULL, "TipoSolicitacao" character varying(60) NOT NULL, "FranquiaLineAtual" numeric NULL, "FranquiaLineNova" numeric NULL, "SolicitanteUserId" uuid NULL, "SolicitanteNome" character varying(200) NULL, "Mensagem" character varying(1000) NOT NULL, "Status" character varying(30) NOT NULL, "CreatedAt" timestamp with time zone NOT NULL, CONSTRAINT "PK_SolicitacaoLinhas" PRIMARY KEY ("Id"), CONSTRAINT "FK_SolicitacaoLinhas_AspNetUsers_SolicitanteUserId" FOREIGN KEY ("SolicitanteUserId") REFERENCES "AspNetUsers" ("Id") ON DELETE SET NULL, CONSTRAINT "FK_SolicitacaoLinhas_MobileLines_MobileLineId" FOREIGN KEY ("MobileLineId") REFERENCES "MobileLines" ("Id") ON DELETE SET NULL ); """); migrationBuilder.Sql("""CREATE INDEX IF NOT EXISTS "IX_SolicitacaoLinhas_TenantId" ON "SolicitacaoLinhas" ("TenantId");"""); migrationBuilder.Sql("""CREATE INDEX IF NOT EXISTS "IX_SolicitacaoLinhas_CreatedAt" ON "SolicitacaoLinhas" ("CreatedAt");"""); migrationBuilder.Sql("""CREATE INDEX IF NOT EXISTS "IX_SolicitacaoLinhas_TipoSolicitacao" ON "SolicitacaoLinhas" ("TipoSolicitacao");"""); migrationBuilder.Sql("""CREATE INDEX IF NOT EXISTS "IX_SolicitacaoLinhas_Status" ON "SolicitacaoLinhas" ("Status");"""); migrationBuilder.Sql("""CREATE INDEX IF NOT EXISTS "IX_SolicitacaoLinhas_MobileLineId" ON "SolicitacaoLinhas" ("MobileLineId");"""); migrationBuilder.Sql("""CREATE INDEX IF NOT EXISTS "IX_SolicitacaoLinhas_SolicitanteUserId" ON "SolicitacaoLinhas" ("SolicitanteUserId");"""); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.Sql("""DROP INDEX IF EXISTS "IX_SolicitacaoLinhas_SolicitanteUserId";"""); migrationBuilder.Sql("""DROP INDEX IF EXISTS "IX_SolicitacaoLinhas_MobileLineId";"""); migrationBuilder.Sql("""DROP INDEX IF EXISTS "IX_SolicitacaoLinhas_Status";"""); migrationBuilder.Sql("""DROP INDEX IF EXISTS "IX_SolicitacaoLinhas_TipoSolicitacao";"""); migrationBuilder.Sql("""DROP INDEX IF EXISTS "IX_SolicitacaoLinhas_CreatedAt";"""); migrationBuilder.Sql("""DROP INDEX IF EXISTS "IX_SolicitacaoLinhas_TenantId";"""); migrationBuilder.Sql("""DROP TABLE IF EXISTS "SolicitacaoLinhas";"""); } } }