//
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using ExpenseTracker.Persistence.PostgreSQL;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace ExpenseTracker.Persistence.PostgreSQL.Migrations
{
[DbContext(typeof(ApplicationDbContext))]
[Migration("20240408161520_Add_Budgets_and_Expenses_relations")]
partial class Add_Budgets_and_Expenses_relations
{
///
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasDefaultSchema("domain")
.HasAnnotation("ProductVersion", "8.0.3")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("ExpenseTracker.Domain.Entities.Budget", b =>
{
b.Property("Id")
.HasColumnType("text")
.HasColumnName("id");
b.Property("Amount")
.HasColumnType("double precision")
.HasColumnName("amount");
b.Property("Category")
.IsRequired()
.HasColumnType("text")
.HasColumnName("category");
b.Property("Currency")
.IsRequired()
.HasColumnType("text")
.HasColumnName("currency");
b.Property("FromTime")
.HasColumnType("timestamp with time zone")
.HasColumnName("from_time");
b.Property("ToTime")
.HasColumnType("timestamp with time zone")
.HasColumnName("to_time");
b.Property("UserId")
.IsRequired()
.HasColumnType("text")
.HasColumnName("fk_budget_user_id");
b.HasKey("Id");
b.ToTable("budgets", "domain");
});
modelBuilder.Entity("ExpenseTracker.Domain.Entities.Expense", b =>
{
b.Property("Id")
.HasColumnType("text")
.HasColumnName("id");
b.Property("Amount")
.HasColumnType("double precision")
.HasColumnName("amount");
b.Property("BudgetId")
.HasColumnType("text");
b.Property("Category")
.IsRequired()
.HasColumnType("text")
.HasColumnName("category");
b.Property("Currency")
.IsRequired()
.HasColumnType("text")
.HasColumnName("currency");
b.Property("Description")
.IsRequired()
.HasColumnType("text")
.HasColumnName("description");
b.Property("Time")
.HasColumnType("timestamp with time zone")
.HasColumnName("time");
b.Property("UserId")
.IsRequired()
.HasColumnType("text")
.HasColumnName("fk_expense_user_id");
b.HasKey("Id");
b.HasIndex("BudgetId");
b.ToTable("expenses", "domain");
});
modelBuilder.Entity("ExpenseTracker.Domain.Entities.Expense", b =>
{
b.HasOne("ExpenseTracker.Domain.Entities.Budget", "Budget")
.WithMany("Expenses")
.HasForeignKey("BudgetId")
.OnDelete(DeleteBehavior.Cascade)
.HasConstraintName("fk_expense_budget_id");
b.Navigation("Budget");
});
modelBuilder.Entity("ExpenseTracker.Domain.Entities.Budget", b =>
{
b.Navigation("Expenses");
});
#pragma warning restore 612, 618
}
}
}