//
using System;
using CleanArchitecture.Infrastructure.Persistence;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace CleanArchitecture.Data.Migrations
{
[DbContext(typeof(StreamerDbContext))]
[Migration("20240218123327_cleanArchitectureFromApi")]
partial class cleanArchitectureFromApi
{
///
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.2")
.HasAnnotation("Relational:MaxIdentifierLength", 64);
modelBuilder.Entity("CleanArchitecture.Domain.Actor", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
b.Property("Apellido")
.HasColumnType("longtext");
b.Property("CreatedBy")
.HasColumnType("longtext");
b.Property("CreatedDate")
.HasColumnType("datetime(6)");
b.Property("LastModifiedBy")
.HasColumnType("longtext");
b.Property("LastModifiedDate")
.HasColumnType("datetime(6)");
b.Property("Nombre")
.HasColumnType("longtext");
b.HasKey("Id");
b.ToTable("Actor");
});
modelBuilder.Entity("CleanArchitecture.Domain.Director", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
b.Property("Apellido")
.HasColumnType("longtext");
b.Property("CreatedBy")
.HasColumnType("longtext");
b.Property("CreatedDate")
.HasColumnType("datetime(6)");
b.Property("LastModifiedBy")
.HasColumnType("longtext");
b.Property("LastModifiedDate")
.HasColumnType("datetime(6)");
b.Property("Nombre")
.HasColumnType("longtext");
b.Property("VideoId")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Director");
});
modelBuilder.Entity("CleanArchitecture.Domain.Streamer", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
b.Property("CreatedBy")
.HasColumnType("longtext");
b.Property("CreatedDate")
.HasColumnType("datetime(6)");
b.Property("LastModifiedBy")
.HasColumnType("longtext");
b.Property("LastModifiedDate")
.HasColumnType("datetime(6)");
b.Property("Nombre")
.HasColumnType("longtext");
b.Property("Url")
.HasColumnType("longtext");
b.HasKey("Id");
b.ToTable("Streamers");
});
modelBuilder.Entity("CleanArchitecture.Domain.Video", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
b.Property("CreatedBy")
.HasColumnType("longtext");
b.Property("CreatedDate")
.HasColumnType("datetime(6)");
b.Property("DirectorId")
.HasColumnType("int");
b.Property("LastModifiedBy")
.HasColumnType("longtext");
b.Property("LastModifiedDate")
.HasColumnType("datetime(6)");
b.Property("Nombre")
.HasColumnType("longtext");
b.Property("StreamerId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("DirectorId")
.IsUnique();
b.HasIndex("StreamerId");
b.ToTable("Videos");
});
modelBuilder.Entity("CleanArchitecture.Domain.VideoActor", b =>
{
b.Property("VideoId")
.HasColumnType("int");
b.Property("ActorId")
.HasColumnType("int");
b.Property("CreatedBy")
.HasColumnType("longtext");
b.Property("CreatedDate")
.HasColumnType("datetime(6)");
b.Property("Id")
.HasColumnType("int");
b.Property("LastModifiedBy")
.HasColumnType("longtext");
b.Property("LastModifiedDate")
.HasColumnType("datetime(6)");
b.HasKey("VideoId", "ActorId");
b.HasIndex("ActorId");
b.ToTable("VideoActor");
});
modelBuilder.Entity("CleanArchitecture.Domain.Video", b =>
{
b.HasOne("CleanArchitecture.Domain.Director", "Director")
.WithOne("Video")
.HasForeignKey("CleanArchitecture.Domain.Video", "DirectorId");
b.HasOne("CleanArchitecture.Domain.Streamer", "Streamer")
.WithMany("Videos")
.HasForeignKey("StreamerId")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b.Navigation("Director");
b.Navigation("Streamer");
});
modelBuilder.Entity("CleanArchitecture.Domain.VideoActor", b =>
{
b.HasOne("CleanArchitecture.Domain.Actor", "Actor")
.WithMany()
.HasForeignKey("ActorId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("CleanArchitecture.Domain.Video", "Video")
.WithMany()
.HasForeignKey("VideoId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Actor");
b.Navigation("Video");
});
modelBuilder.Entity("CleanArchitecture.Domain.Director", b =>
{
b.Navigation("Video");
});
modelBuilder.Entity("CleanArchitecture.Domain.Streamer", b =>
{
b.Navigation("Videos");
});
#pragma warning restore 612, 618
}
}
}