//
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Timeline.Entities;
namespace Timeline.Migrations.DevelopmentDatabase
{
[DbContext(typeof(DevelopmentDatabaseContext))]
[Migration("20200105150407_Initialize")]
partial class Initialize
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "3.1.0");
modelBuilder.Entity("Timeline.Entities.TimelineEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnName("id")
.HasColumnType("INTEGER");
b.Property("CreateTime")
.HasColumnName("create_time")
.HasColumnType("TEXT");
b.Property("Description")
.HasColumnName("description")
.HasColumnType("TEXT");
b.Property("Name")
.HasColumnName("name")
.HasColumnType("TEXT");
b.Property("OwnerId")
.HasColumnName("owner")
.HasColumnType("INTEGER");
b.Property("Visibility")
.HasColumnName("visibility")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("OwnerId");
b.ToTable("timelines");
});
modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnName("id")
.HasColumnType("INTEGER");
b.Property("TimelineId")
.HasColumnName("timeline")
.HasColumnType("INTEGER");
b.Property("UserId")
.HasColumnName("user")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("TimelineId");
b.HasIndex("UserId");
b.ToTable("timeline_members");
});
modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnName("id")
.HasColumnType("INTEGER");
b.Property("AuthorId")
.HasColumnName("author")
.HasColumnType("INTEGER");
b.Property("Content")
.HasColumnName("content")
.HasColumnType("TEXT");
b.Property("LastUpdated")
.HasColumnName("last_updated")
.HasColumnType("TEXT");
b.Property("Time")
.HasColumnName("time")
.HasColumnType("TEXT");
b.Property("TimelineId")
.HasColumnName("timeline")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("AuthorId");
b.HasIndex("TimelineId");
b.ToTable("timeline_posts");
});
modelBuilder.Entity("Timeline.Entities.User", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnName("id")
.HasColumnType("INTEGER");
b.Property("EncryptedPassword")
.IsRequired()
.HasColumnName("password")
.HasColumnType("TEXT");
b.Property("Name")
.IsRequired()
.HasColumnName("name")
.HasColumnType("TEXT")
.HasMaxLength(26);
b.Property("RoleString")
.IsRequired()
.HasColumnName("roles")
.HasColumnType("TEXT");
b.Property("Version")
.ValueGeneratedOnAdd()
.HasColumnName("version")
.HasColumnType("INTEGER")
.HasDefaultValue(0L);
b.HasKey("Id");
b.HasIndex("Name")
.IsUnique();
b.ToTable("users");
});
modelBuilder.Entity("Timeline.Entities.UserAvatar", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnName("id")
.HasColumnType("INTEGER");
b.Property("Data")
.HasColumnName("data")
.HasColumnType("BLOB");
b.Property("ETag")
.HasColumnName("etag")
.HasColumnType("TEXT")
.HasMaxLength(30);
b.Property("LastModified")
.HasColumnName("last_modified")
.HasColumnType("TEXT");
b.Property("Type")
.HasColumnName("type")
.HasColumnType("TEXT");
b.Property("UserId")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("UserId")
.IsUnique();
b.ToTable("user_avatars");
});
modelBuilder.Entity("Timeline.Entities.UserDetail", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnName("id")
.HasColumnType("INTEGER");
b.Property("Nickname")
.HasColumnName("nickname")
.HasColumnType("TEXT")
.HasMaxLength(26);
b.Property("UserId")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("UserId")
.IsUnique();
b.ToTable("user_details");
});
modelBuilder.Entity("Timeline.Entities.TimelineEntity", b =>
{
b.HasOne("Timeline.Entities.User", "Owner")
.WithMany("Timelines")
.HasForeignKey("OwnerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b =>
{
b.HasOne("Timeline.Entities.TimelineEntity", "Timeline")
.WithMany("Members")
.HasForeignKey("TimelineId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Timeline.Entities.User", "User")
.WithMany("TimelinesJoined")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b =>
{
b.HasOne("Timeline.Entities.User", "Author")
.WithMany("TimelinePosts")
.HasForeignKey("AuthorId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Timeline.Entities.TimelineEntity", "Timeline")
.WithMany("Posts")
.HasForeignKey("TimelineId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Timeline.Entities.UserAvatar", b =>
{
b.HasOne("Timeline.Entities.User", null)
.WithOne("Avatar")
.HasForeignKey("Timeline.Entities.UserAvatar", "UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Timeline.Entities.UserDetail", b =>
{
b.HasOne("Timeline.Entities.User", null)
.WithOne("Detail")
.HasForeignKey("Timeline.Entities.UserDetail", "UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
#pragma warning restore 612, 618
}
}
}