// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using EllieBot.Db;

#nullable disable

namespace EllieBot.Migrations.Sqlite
{
    [DbContext(typeof(SqliteContext))]
    [Migration("20250315225536_init")]
    partial class init
    {
        /// <inheritdoc />
        protected override void BuildTargetModel(ModelBuilder modelBuilder)
        {
#pragma warning disable 612, 618
            modelBuilder.HasAnnotation("ProductVersion", "9.0.1");

            modelBuilder.Entity("EllieBot.Db.Models.AntiAltSetting", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<int>("Action")
                    .HasColumnType("INTEGER");

                b.Property<int>("ActionDurationMinutes")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<TimeSpan>("MinAge")
                    .HasColumnType("TEXT");

                b.Property<ulong?>("RoleId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("GuildId")
                    .IsUnique();

                b.ToTable("AntiAltSetting");
            });

            modelBuilder.Entity("EllieBot.Db.Models.AntiRaidSetting", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<int>("Action")
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<int>("PunishDuration")
                    .HasColumnType("INTEGER");

                b.Property<int>("Seconds")
                    .HasColumnType("INTEGER");

                b.Property<int>("UserThreshold")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("GuildId")
                    .IsUnique();

                b.ToTable("AntiRaidSetting");
            });

            modelBuilder.Entity("EllieBot.Db.Models.AntiSpamIgnore", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<int?>("AntiSpamSettingId")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("ChannelId")
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.HasKey("Id");

                b.HasIndex("AntiSpamSettingId");

                b.ToTable("AntiSpamIgnore");
            });

            modelBuilder.Entity("EllieBot.Db.Models.AntiSpamSetting", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<int>("Action")
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<int>("MessageThreshold")
                    .HasColumnType("INTEGER");

                b.Property<int>("MuteTime")
                    .HasColumnType("INTEGER");

                b.Property<ulong?>("RoleId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("GuildId")
                    .IsUnique();

                b.ToTable("AntiSpamSetting");
            });

            modelBuilder.Entity("EllieBot.Db.Models.ArchivedTodoListModel", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<string>("Name")
                    .HasColumnType("TEXT");

                b.Property<ulong>("UserId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.ToTable("TodosArchive");
            });

            modelBuilder.Entity("EllieBot.Db.Models.AutoCommand", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<ulong>("ChannelId")
                    .HasColumnType("INTEGER");

                b.Property<string>("ChannelName")
                    .HasColumnType("TEXT");

                b.Property<string>("CommandText")
                    .HasColumnType("TEXT");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong?>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<string>("GuildName")
                    .HasColumnType("TEXT");

                b.Property<int>("Interval")
                    .HasColumnType("INTEGER");

                b.Property<ulong?>("VoiceChannelId")
                    .HasColumnType("INTEGER");

                b.Property<string>("VoiceChannelName")
                    .HasColumnType("TEXT");

                b.HasKey("Id");

                b.ToTable("AutoCommands");
            });

            modelBuilder.Entity("EllieBot.Db.Models.AutoPublishChannel", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<ulong>("ChannelId")
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("GuildId")
                    .IsUnique();

                b.ToTable("AutoPublishChannel");
            });

            modelBuilder.Entity("EllieBot.Db.Models.AutoTranslateChannel", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<bool>("AutoDelete")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("ChannelId")
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("ChannelId")
                    .IsUnique();

                b.HasIndex("GuildId");

                b.ToTable("AutoTranslateChannels");
            });

            modelBuilder.Entity("EllieBot.Db.Models.AutoTranslateUser", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<int>("ChannelId")
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<string>("Source")
                    .HasColumnType("TEXT");

                b.Property<string>("Target")
                    .HasColumnType("TEXT");

                b.Property<ulong>("UserId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasAlternateKey("ChannelId", "UserId");

                b.ToTable("AutoTranslateUsers");
            });

            modelBuilder.Entity("EllieBot.Db.Models.BanTemplate", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<int?>("PruneDays")
                    .HasColumnType("INTEGER");

                b.Property<string>("Text")
                    .HasColumnType("TEXT");

                b.HasKey("Id");

                b.HasIndex("GuildId")
                    .IsUnique();

                b.ToTable("BanTemplates");
            });

            modelBuilder.Entity("EllieBot.Db.Models.BankUser", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<long>("Balance")
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("UserId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("UserId")
                    .IsUnique();

                b.ToTable("BankUsers");
            });

            modelBuilder.Entity("EllieBot.Db.Models.BlacklistEntry", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("ItemId")
                    .HasColumnType("INTEGER");

                b.Property<int>("Type")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.ToTable("Blacklist");
            });

            modelBuilder.Entity("EllieBot.Db.Models.ButtonRole", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<string>("ButtonId")
                    .IsRequired()
                    .HasMaxLength(200)
                    .HasColumnType("TEXT");

                b.Property<ulong>("ChannelId")
                    .HasColumnType("INTEGER");

                b.Property<string>("Emote")
                    .IsRequired()
                    .HasMaxLength(100)
                    .HasColumnType("TEXT");

                b.Property<bool>("Exclusive")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<string>("Label")
                    .IsRequired()
                    .HasMaxLength(50)
                    .HasColumnType("TEXT");

                b.Property<ulong>("MessageId")
                    .HasColumnType("INTEGER");

                b.Property<int>("Position")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("RoleId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasAlternateKey("RoleId", "MessageId");

                b.HasIndex("GuildId");

                b.ToTable("ButtonRole");
            });

            modelBuilder.Entity("EllieBot.Db.Models.ClubApplicants", b =>
            {
                b.Property<int>("ClubId")
                    .HasColumnType("INTEGER");

                b.Property<int>("UserId")
                    .HasColumnType("INTEGER");

                b.HasKey("ClubId", "UserId");

                b.HasIndex("UserId");

                b.ToTable("ClubApplicants");
            });

            modelBuilder.Entity("EllieBot.Db.Models.ClubBans", b =>
            {
                b.Property<int>("ClubId")
                    .HasColumnType("INTEGER");

                b.Property<int>("UserId")
                    .HasColumnType("INTEGER");

                b.HasKey("ClubId", "UserId");

                b.HasIndex("UserId");

                b.ToTable("ClubBans");
            });

            modelBuilder.Entity("EllieBot.Db.Models.ClubInfo", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<string>("BannerUrl")
                    .HasColumnType("TEXT");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<string>("Description")
                    .HasColumnType("TEXT");

                b.Property<string>("ImageUrl")
                    .HasColumnType("TEXT");

                b.Property<string>("Name")
                    .HasMaxLength(20)
                    .HasColumnType("TEXT");

                b.Property<int?>("OwnerId")
                    .HasColumnType("INTEGER");

                b.Property<int>("Xp")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("Name")
                    .IsUnique();

                b.HasIndex("OwnerId")
                    .IsUnique();

                b.ToTable("Clubs");
            });

            modelBuilder.Entity("EllieBot.Db.Models.CommandAlias", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<string>("Mapping")
                    .HasColumnType("TEXT");

                b.Property<string>("Trigger")
                    .HasColumnType("TEXT");

                b.HasKey("Id");

                b.HasIndex("GuildId");

                b.ToTable("CommandAlias");
            });

            modelBuilder.Entity("EllieBot.Db.Models.CommandCooldown", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<string>("CommandName")
                    .HasColumnType("TEXT");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<int>("Seconds")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("GuildId", "CommandName")
                    .IsUnique();

                b.ToTable("CommandCooldown");
            });

            modelBuilder.Entity("EllieBot.Db.Models.CurrencyTransaction", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<long>("Amount")
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<string>("Extra")
                    .IsRequired()
                    .HasColumnType("TEXT");

                b.Property<string>("Note")
                    .HasColumnType("TEXT");

                b.Property<ulong?>("OtherId")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER")
                    .HasDefaultValueSql("NULL");

                b.Property<string>("Type")
                    .IsRequired()
                    .HasColumnType("TEXT");

                b.Property<ulong>("UserId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("UserId");

                b.ToTable("CurrencyTransactions");
            });

            modelBuilder.Entity("EllieBot.Db.Models.DelMsgOnCmdChannel", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<ulong>("ChannelId")
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<bool>("State")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("GuildId", "ChannelId")
                    .IsUnique();

                b.ToTable("DelMsgOnCmdChannel");
            });

            modelBuilder.Entity("EllieBot.Db.Models.DiscordPermOverride", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<string>("Command")
                    .HasColumnType("TEXT");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong?>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("Perm")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("GuildId", "Command")
                    .IsUnique();

                b.ToTable("DiscordPermOverrides");
            });

            modelBuilder.Entity("EllieBot.Db.Models.DiscordUser", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<string>("AvatarId")
                    .HasColumnType("TEXT");

                b.Property<int?>("ClubId")
                    .HasColumnType("INTEGER");

                b.Property<long>("CurrencyAmount")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER")
                    .HasDefaultValue(0L);

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<bool>("IsClubAdmin")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER")
                    .HasDefaultValue(false);

                b.Property<long>("TotalXp")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER")
                    .HasDefaultValue(0L);

                b.Property<ulong>("UserId")
                    .HasColumnType("INTEGER");

                b.Property<string>("Username")
                    .HasColumnType("TEXT");

                b.HasKey("Id");

                b.HasAlternateKey("UserId");

                b.HasIndex("ClubId");

                b.HasIndex("CurrencyAmount");

                b.HasIndex("TotalXp");

                b.HasIndex("UserId");

                b.HasIndex("Username");

                b.ToTable("DiscordUser");
            });

            modelBuilder.Entity("EllieBot.Db.Models.FeedSub", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<ulong>("ChannelId")
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<string>("Message")
                    .HasColumnType("TEXT");

                b.Property<string>("Url")
                    .HasColumnType("TEXT");

                b.HasKey("Id");

                b.HasIndex("GuildId", "Url")
                    .IsUnique();

                b.ToTable("FeedSub");
            });

            modelBuilder.Entity("EllieBot.Db.Models.FilterChannelId", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<ulong>("ChannelId")
                    .HasColumnType("INTEGER");

                b.Property<int?>("GuildFilterConfigId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("GuildFilterConfigId");

                b.ToTable("FilterChannelId");
            });

            modelBuilder.Entity("EllieBot.Db.Models.FilterLinksChannelId", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<ulong>("ChannelId")
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<int?>("GuildFilterConfigId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("GuildFilterConfigId");

                b.ToTable("FilterLinksChannelId");
            });

            modelBuilder.Entity("EllieBot.Db.Models.FilterWordsChannelId", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<ulong>("ChannelId")
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<int?>("GuildFilterConfigId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("GuildFilterConfigId");

                b.ToTable("FilterWordsChannelId");
            });

            modelBuilder.Entity("EllieBot.Db.Models.FilteredWord", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<int?>("GuildFilterConfigId")
                    .HasColumnType("INTEGER");

                b.Property<string>("Word")
                    .HasColumnType("TEXT");

                b.HasKey("Id");

                b.HasIndex("GuildFilterConfigId");

                b.ToTable("FilteredWord");
            });

            modelBuilder.Entity("EllieBot.Db.Models.FlagTranslateChannel", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<ulong>("ChannelId")
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("GuildId", "ChannelId")
                    .IsUnique();

                b.ToTable("FlagTranslateChannel");
            });

            modelBuilder.Entity("EllieBot.Db.Models.FollowedStream", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<ulong>("ChannelId")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<string>("Message")
                    .HasColumnType("TEXT");

                b.Property<string>("PrettyName")
                    .HasColumnType("TEXT");

                b.Property<int>("Type")
                    .HasColumnType("INTEGER");

                b.Property<string>("Username")
                    .HasColumnType("TEXT");

                b.HasKey("Id");

                b.HasIndex("GuildId", "Username", "Type");

                b.ToTable("FollowedStream");
            });

            modelBuilder.Entity("EllieBot.Db.Models.GCChannelId", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<ulong>("ChannelId")
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("GuildId", "ChannelId")
                    .IsUnique();

                b.ToTable("GCChannelId");
            });

            modelBuilder.Entity("EllieBot.Db.Models.GamblingStats", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<decimal>("Bet")
                    .HasColumnType("TEXT");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<string>("Feature")
                    .HasColumnType("TEXT");

                b.Property<decimal>("PaidOut")
                    .HasColumnType("TEXT");

                b.HasKey("Id");

                b.HasIndex("Feature")
                    .IsUnique();

                b.ToTable("GamblingStats");
            });

            modelBuilder.Entity("EllieBot.Db.Models.GiveawayModel", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<ulong>("ChannelId")
                    .HasColumnType("INTEGER");

                b.Property<DateTime>("EndsAt")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<string>("Message")
                    .HasColumnType("TEXT");

                b.Property<ulong>("MessageId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.ToTable("GiveawayModel");
            });

            modelBuilder.Entity("EllieBot.Db.Models.GiveawayUser", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<int>("GiveawayId")
                    .HasColumnType("INTEGER");

                b.Property<string>("Name")
                    .HasColumnType("TEXT");

                b.Property<ulong>("UserId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("GiveawayId", "UserId")
                    .IsUnique();

                b.ToTable("GiveawayUser");
            });

            modelBuilder.Entity("EllieBot.Db.Models.GuildColors", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<string>("ErrorColor")
                    .HasMaxLength(9)
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<string>("OkColor")
                    .HasMaxLength(9)
                    .HasColumnType("TEXT");

                b.Property<string>("PendingColor")
                    .HasMaxLength(9)
                    .HasColumnType("TEXT");

                b.HasKey("Id");

                b.HasIndex("GuildId")
                    .IsUnique();

                b.ToTable("GuildColors");
            });

            modelBuilder.Entity("EllieBot.Db.Models.GuildConfig", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<string>("AutoAssignRoleIds")
                    .HasColumnType("TEXT");

                b.Property<bool>("CleverbotEnabled")
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<bool>("DeleteMessageOnCommand")
                    .HasColumnType("INTEGER");

                b.Property<bool>("DeleteStreamOnlineMessage")
                    .HasColumnType("INTEGER");

                b.Property<bool>("DisableGlobalExpressions")
                    .HasColumnType("INTEGER");

                b.Property<ulong?>("GameVoiceChannel")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<string>("Locale")
                    .HasColumnType("TEXT");

                b.Property<string>("MuteRoleName")
                    .HasColumnType("TEXT");

                b.Property<bool>("NotifyStreamOffline")
                    .HasColumnType("INTEGER");

                b.Property<string>("PermissionRole")
                    .HasColumnType("TEXT");

                b.Property<string>("Prefix")
                    .HasColumnType("TEXT");

                b.Property<bool>("StickyRoles")
                    .HasColumnType("INTEGER");

                b.Property<string>("TimeZoneId")
                    .HasColumnType("TEXT");

                b.Property<bool>("VerboseErrors")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER")
                    .HasDefaultValue(true);

                b.Property<bool>("VerbosePermissions")
                    .HasColumnType("INTEGER");

                b.Property<int>("WarnExpireAction")
                    .HasColumnType("INTEGER");

                b.Property<int>("WarnExpireHours")
                    .HasColumnType("INTEGER");

                b.Property<bool>("WarningsInitialized")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("GuildId")
                    .IsUnique();

                b.HasIndex("WarnExpireHours");

                b.ToTable("GuildConfigs");
            });

            modelBuilder.Entity("EllieBot.Db.Models.GuildFilterConfig", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<bool>("FilterInvites")
                    .HasColumnType("INTEGER");

                b.Property<bool>("FilterLinks")
                    .HasColumnType("INTEGER");

                b.Property<bool>("FilterWords")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("GuildId");

                b.ToTable("GuildFilterConfig");
            });

            modelBuilder.Entity("EllieBot.Db.Models.HoneypotChannel", b =>
            {
                b.Property<ulong>("GuildId")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<ulong>("ChannelId")
                    .HasColumnType("INTEGER");

                b.HasKey("GuildId");

                b.ToTable("HoneyPotChannels");
            });

            modelBuilder.Entity("EllieBot.Db.Models.IgnoredLogItem", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<int>("ItemType")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("LogItemId")
                    .HasColumnType("INTEGER");

                b.Property<int>("LogSettingId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("LogSettingId", "LogItemId", "ItemType")
                    .IsUnique();

                b.ToTable("IgnoredLogChannels");
            });

            modelBuilder.Entity("EllieBot.Db.Models.ImageOnlyChannel", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<ulong>("ChannelId")
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<int>("Type")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("ChannelId")
                    .IsUnique();

                b.ToTable("ImageOnlyChannels");
            });

            modelBuilder.Entity("EllieBot.Db.Models.LogSetting", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<ulong?>("ChannelCreatedId")
                    .HasColumnType("INTEGER");

                b.Property<ulong?>("ChannelDestroyedId")
                    .HasColumnType("INTEGER");

                b.Property<ulong?>("ChannelUpdatedId")
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<ulong?>("LogOtherId")
                    .HasColumnType("INTEGER");

                b.Property<ulong?>("LogUserPresenceId")
                    .HasColumnType("INTEGER");

                b.Property<ulong?>("LogVoicePresenceId")
                    .HasColumnType("INTEGER");

                b.Property<ulong?>("LogVoicePresenceTTSId")
                    .HasColumnType("INTEGER");

                b.Property<ulong?>("LogWarnsId")
                    .HasColumnType("INTEGER");

                b.Property<ulong?>("MessageDeletedId")
                    .HasColumnType("INTEGER");

                b.Property<ulong?>("MessageUpdatedId")
                    .HasColumnType("INTEGER");

                b.Property<ulong?>("ThreadCreatedId")
                    .HasColumnType("INTEGER");

                b.Property<ulong?>("ThreadDeletedId")
                    .HasColumnType("INTEGER");

                b.Property<ulong?>("UserBannedId")
                    .HasColumnType("INTEGER");

                b.Property<ulong?>("UserJoinedId")
                    .HasColumnType("INTEGER");

                b.Property<ulong?>("UserLeftId")
                    .HasColumnType("INTEGER");

                b.Property<ulong?>("UserMutedId")
                    .HasColumnType("INTEGER");

                b.Property<ulong?>("UserUnbannedId")
                    .HasColumnType("INTEGER");

                b.Property<ulong?>("UserUpdatedId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("GuildId")
                    .IsUnique();

                b.ToTable("LogSettings");
            });

            modelBuilder.Entity("EllieBot.Db.Models.MusicPlayerSettings", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<bool>("AutoDisconnect")
                    .HasColumnType("INTEGER");

                b.Property<bool>("AutoPlay")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<ulong?>("MusicChannelId")
                    .HasColumnType("INTEGER");

                b.Property<int>("PlayerRepeat")
                    .HasColumnType("INTEGER");

                b.Property<int>("QualityPreset")
                    .HasColumnType("INTEGER");

                b.Property<int>("Volume")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER")
                    .HasDefaultValue(100);

                b.HasKey("Id");

                b.HasIndex("GuildId")
                    .IsUnique();

                b.ToTable("MusicPlayerSettings");
            });

            modelBuilder.Entity("EllieBot.Db.Models.MusicPlaylist", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<string>("Author")
                    .HasColumnType("TEXT");

                b.Property<ulong>("AuthorId")
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<string>("Name")
                    .HasColumnType("TEXT");

                b.HasKey("Id");

                b.ToTable("MusicPlaylists");
            });

            modelBuilder.Entity("EllieBot.Db.Models.MutedUserId", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("UserId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("GuildId", "UserId")
                    .IsUnique();

                b.ToTable("MutedUserId");
            });

            modelBuilder.Entity("EllieBot.Db.Models.NCPixel", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<uint>("Color")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("OwnerId")
                    .HasColumnType("INTEGER");

                b.Property<int>("Position")
                    .HasColumnType("INTEGER");

                b.Property<long>("Price")
                    .HasColumnType("INTEGER");

                b.Property<string>("Text")
                    .IsRequired()
                    .HasMaxLength(256)
                    .HasColumnType("TEXT");

                b.HasKey("Id");

                b.HasAlternateKey("Position");

                b.HasIndex("OwnerId");

                b.ToTable("NCPixel");
            });

            modelBuilder.Entity("EllieBot.Db.Models.EllieExpression", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<bool>("AllowTarget")
                    .HasColumnType("INTEGER");

                b.Property<bool>("AutoDeleteTrigger")
                    .HasColumnType("INTEGER");

                b.Property<bool>("ContainsAnywhere")
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<bool>("DmResponse")
                    .HasColumnType("INTEGER");

                b.Property<ulong?>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<string>("Reactions")
                    .HasColumnType("TEXT");

                b.Property<string>("Response")
                    .HasColumnType("TEXT");

                b.Property<string>("Trigger")
                    .HasColumnType("TEXT");

                b.HasKey("Id");

                b.ToTable("Expressions");
            });

            modelBuilder.Entity("EllieBot.Db.Models.Notify", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<ulong?>("ChannelId")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<string>("Message")
                    .IsRequired()
                    .HasMaxLength(10000)
                    .HasColumnType("TEXT");

                b.Property<int>("Type")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasAlternateKey("GuildId", "Type");

                b.ToTable("Notify");
            });

            modelBuilder.Entity("EllieBot.Db.Models.PatronUser", b =>
            {
                b.Property<ulong>("UserId")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<int>("AmountCents")
                    .HasColumnType("INTEGER");

                b.Property<DateTime>("LastCharge")
                    .HasColumnType("TEXT");

                b.Property<string>("UniquePlatformUserId")
                    .HasColumnType("TEXT");

                b.Property<DateTime>("ValidThru")
                    .HasColumnType("TEXT");

                b.HasKey("UserId");

                b.HasIndex("UniquePlatformUserId")
                    .IsUnique();

                b.ToTable("Patrons");
            });

            modelBuilder.Entity("EllieBot.Db.Models.Permissionv2", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<int?>("GuildConfigId")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<int>("Index")
                    .HasColumnType("INTEGER");

                b.Property<bool>("IsCustomCommand")
                    .HasColumnType("INTEGER");

                b.Property<int>("PrimaryTarget")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("PrimaryTargetId")
                    .HasColumnType("INTEGER");

                b.Property<int>("SecondaryTarget")
                    .HasColumnType("INTEGER");

                b.Property<string>("SecondaryTargetName")
                    .HasColumnType("TEXT");

                b.Property<bool>("State")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("GuildConfigId");

                b.HasIndex("GuildId");

                b.ToTable("Permissions");
            });

            modelBuilder.Entity("EllieBot.Db.Models.PlantedCurrency", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<long>("Amount")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("ChannelId")
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("MessageId")
                    .HasColumnType("INTEGER");

                b.Property<string>("Password")
                    .HasColumnType("TEXT");

                b.Property<ulong>("UserId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("ChannelId");

                b.HasIndex("MessageId")
                    .IsUnique();

                b.ToTable("PlantedCurrency");
            });

            modelBuilder.Entity("EllieBot.Db.Models.PlaylistSong", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<int?>("MusicPlaylistId")
                    .HasColumnType("INTEGER");

                b.Property<string>("Provider")
                    .HasColumnType("TEXT");

                b.Property<int>("ProviderType")
                    .HasColumnType("INTEGER");

                b.Property<string>("Query")
                    .HasColumnType("TEXT");

                b.Property<string>("Title")
                    .HasColumnType("TEXT");

                b.Property<string>("Uri")
                    .HasColumnType("TEXT");

                b.HasKey("Id");

                b.HasIndex("MusicPlaylistId");

                b.ToTable("PlaylistSong");
            });

            modelBuilder.Entity("EllieBot.Db.Models.Quote", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<ulong>("AuthorId")
                    .HasColumnType("INTEGER");

                b.Property<string>("AuthorName")
                    .IsRequired()
                    .HasColumnType("TEXT");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<string>("Keyword")
                    .IsRequired()
                    .HasColumnType("TEXT");

                b.Property<string>("Text")
                    .IsRequired()
                    .HasColumnType("TEXT");

                b.HasKey("Id");

                b.HasIndex("GuildId");

                b.HasIndex("Keyword");

                b.ToTable("Quotes");
            });

            modelBuilder.Entity("EllieBot.Db.Models.ReactionRoleV2", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<ulong>("ChannelId")
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<string>("Emote")
                    .HasMaxLength(100)
                    .HasColumnType("TEXT");

                b.Property<int>("Group")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<int>("LevelReq")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("MessageId")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("RoleId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("GuildId");

                b.HasIndex("MessageId", "Emote")
                    .IsUnique();

                b.ToTable("ReactionRoles");
            });

            modelBuilder.Entity("EllieBot.Db.Models.Reminder", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<ulong>("ChannelId")
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<bool>("IsPrivate")
                    .HasColumnType("INTEGER");

                b.Property<string>("Message")
                    .HasColumnType("TEXT");

                b.Property<ulong>("ServerId")
                    .HasColumnType("INTEGER");

                b.Property<int>("Type")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("UserId")
                    .HasColumnType("INTEGER");

                b.Property<DateTime>("When")
                    .HasColumnType("TEXT");

                b.HasKey("Id");

                b.HasIndex("When");

                b.ToTable("Reminders");
            });

            modelBuilder.Entity("EllieBot.Db.Models.Repeater", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<ulong>("ChannelId")
                    .HasColumnType("INTEGER");

                b.Property<DateTime>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<TimeSpan>("Interval")
                    .HasColumnType("TEXT");

                b.Property<ulong?>("LastMessageId")
                    .HasColumnType("INTEGER");

                b.Property<string>("Message")
                    .HasColumnType("TEXT");

                b.Property<bool>("NoRedundant")
                    .HasColumnType("INTEGER");

                b.Property<TimeSpan?>("StartTimeOfDay")
                    .HasColumnType("TEXT");

                b.HasKey("Id");

                b.ToTable("Repeaters");
            });

            modelBuilder.Entity("EllieBot.Db.Models.RewardedUser", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<long>("AmountRewardedThisMonth")
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<DateTime>("LastReward")
                    .HasColumnType("TEXT");

                b.Property<string>("PlatformUserId")
                    .HasColumnType("TEXT");

                b.Property<ulong>("UserId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("PlatformUserId")
                    .IsUnique();

                b.ToTable("RewardedUsers");
            });

            modelBuilder.Entity("EllieBot.Db.Models.RotatingPlayingStatus", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<string>("Status")
                    .HasColumnType("TEXT");

                b.Property<int>("Type")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.ToTable("RotatingStatus");
            });

            modelBuilder.Entity("EllieBot.Db.Models.Sar", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<int>("LevelReq")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("RoleId")
                    .HasColumnType("INTEGER");

                b.Property<int>("SarGroupId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasAlternateKey("GuildId", "RoleId");

                b.HasIndex("SarGroupId");

                b.ToTable("Sar");
            });

            modelBuilder.Entity("EllieBot.Db.Models.SarAutoDelete", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<bool>("IsEnabled")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("GuildId")
                    .IsUnique();

                b.ToTable("SarAutoDelete");
            });

            modelBuilder.Entity("EllieBot.Db.Models.SarGroup", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<int>("GroupNumber")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<bool>("IsExclusive")
                    .HasColumnType("INTEGER");

                b.Property<string>("Name")
                    .HasMaxLength(100)
                    .HasColumnType("TEXT");

                b.Property<ulong?>("RoleReq")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasAlternateKey("GuildId", "GroupNumber");

                b.ToTable("SarGroup");
            });

            modelBuilder.Entity("EllieBot.Db.Models.ShopEntry", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<ulong>("AuthorId")
                    .HasColumnType("INTEGER");

                b.Property<string>("Command")
                    .HasColumnType("TEXT");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<int>("Index")
                    .HasColumnType("INTEGER");

                b.Property<string>("Name")
                    .HasColumnType("TEXT");

                b.Property<int>("Price")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("RoleId")
                    .HasColumnType("INTEGER");

                b.Property<string>("RoleName")
                    .HasColumnType("TEXT");

                b.Property<ulong?>("RoleRequirement")
                    .HasColumnType("INTEGER");

                b.Property<int>("Type")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("GuildId", "Index")
                    .IsUnique();

                b.ToTable("ShopEntry");
            });

            modelBuilder.Entity("EllieBot.Db.Models.ShopEntryItem", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<int?>("ShopEntryId")
                    .HasColumnType("INTEGER");

                b.Property<string>("Text")
                    .HasColumnType("TEXT");

                b.HasKey("Id");

                b.HasIndex("ShopEntryId");

                b.ToTable("ShopEntryItem");
            });

            modelBuilder.Entity("EllieBot.Db.Models.SlowmodeIgnoredRole", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("RoleId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("GuildId", "RoleId")
                    .IsUnique();

                b.ToTable("SlowmodeIgnoredRole");
            });

            modelBuilder.Entity("EllieBot.Db.Models.SlowmodeIgnoredUser", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("UserId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("GuildId", "UserId")
                    .IsUnique();

                b.ToTable("SlowmodeIgnoredUser");
            });

            modelBuilder.Entity("EllieBot.Db.Models.StickyRole", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<string>("RoleIds")
                    .HasColumnType("TEXT");

                b.Property<ulong>("UserId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("GuildId", "UserId")
                    .IsUnique();

                b.ToTable("StickyRoles");
            });

            modelBuilder.Entity("EllieBot.Db.Models.StreamOnlineMessage", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<ulong>("ChannelId")
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("MessageId")
                    .HasColumnType("INTEGER");

                b.Property<string>("Name")
                    .HasColumnType("TEXT");

                b.Property<int>("Type")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.ToTable("StreamOnlineMessages");
            });

            modelBuilder.Entity("EllieBot.Db.Models.StreamRoleBlacklistedUser", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<int>("StreamRoleSettingsId")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("UserId")
                    .HasColumnType("INTEGER");

                b.Property<string>("Username")
                    .HasColumnType("TEXT");

                b.HasKey("Id");

                b.HasIndex("StreamRoleSettingsId");

                b.ToTable("StreamRoleBlacklistedUser");
            });

            modelBuilder.Entity("EllieBot.Db.Models.StreamRoleSettings", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<ulong>("AddRoleId")
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<bool>("Enabled")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("FromRoleId")
                    .HasColumnType("INTEGER");

                b.Property<int>("GuildConfigId")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<string>("Keyword")
                    .HasColumnType("TEXT");

                b.HasKey("Id");

                b.HasIndex("GuildId")
                    .IsUnique();

                b.ToTable("StreamRoleSettings");
            });

            modelBuilder.Entity("EllieBot.Db.Models.StreamRoleWhitelistedUser", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<int>("StreamRoleSettingsId")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("UserId")
                    .HasColumnType("INTEGER");

                b.Property<string>("Username")
                    .HasColumnType("TEXT");

                b.HasKey("Id");

                b.HasIndex("StreamRoleSettingsId");

                b.ToTable("StreamRoleWhitelistedUser");
            });

            modelBuilder.Entity("EllieBot.Db.Models.TempRole", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<DateTime>("ExpiresAt")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<bool>("Remove")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("RoleId")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("UserId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasAlternateKey("GuildId", "UserId", "RoleId");

                b.HasIndex("ExpiresAt");

                b.ToTable("TempRole");
            });

            modelBuilder.Entity("EllieBot.Db.Models.TodoModel", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<int?>("ArchiveId")
                    .HasColumnType("INTEGER");

                b.Property<DateTime>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<bool>("IsDone")
                    .HasColumnType("INTEGER");

                b.Property<string>("Todo")
                    .HasColumnType("TEXT");

                b.Property<ulong>("UserId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("ArchiveId");

                b.HasIndex("UserId");

                b.ToTable("Todos");
            });

            modelBuilder.Entity("EllieBot.Db.Models.UnbanTimer", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<DateTime>("UnbanAt")
                    .HasColumnType("TEXT");

                b.Property<ulong>("UserId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("GuildId", "UserId")
                    .IsUnique();

                b.ToTable("UnbanTimer");
            });

            modelBuilder.Entity("EllieBot.Db.Models.UnmuteTimer", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<DateTime>("UnmuteAt")
                    .HasColumnType("TEXT");

                b.Property<ulong>("UserId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("GuildId", "UserId")
                    .IsUnique();

                b.ToTable("UnmuteTimer");
            });

            modelBuilder.Entity("EllieBot.Db.Models.UnroleTimer", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("RoleId")
                    .HasColumnType("INTEGER");

                b.Property<DateTime>("UnbanAt")
                    .HasColumnType("TEXT");

                b.Property<ulong>("UserId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("GuildId", "UserId")
                    .IsUnique();

                b.ToTable("UnroleTimer");
            });

            modelBuilder.Entity("EllieBot.Db.Models.UserXpStats", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("UserId")
                    .HasColumnType("INTEGER");

                b.Property<long>("Xp")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("GuildId");

                b.HasIndex("UserId");

                b.HasIndex("Xp");

                b.HasIndex("UserId", "GuildId")
                    .IsUnique();

                b.ToTable("UserXpStats");
            });

            modelBuilder.Entity("EllieBot.Db.Models.VcRoleInfo", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("RoleId")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("VoiceChannelId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("GuildId", "VoiceChannelId")
                    .IsUnique();

                b.ToTable("VcRoleInfo");
            });

            modelBuilder.Entity("EllieBot.Db.Models.WaifuInfo", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<int?>("AffinityId")
                    .HasColumnType("INTEGER");

                b.Property<int?>("ClaimerId")
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<long>("Price")
                    .HasColumnType("INTEGER");

                b.Property<int>("WaifuId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("AffinityId");

                b.HasIndex("ClaimerId");

                b.HasIndex("Price");

                b.HasIndex("WaifuId")
                    .IsUnique();

                b.ToTable("WaifuInfo");
            });

            modelBuilder.Entity("EllieBot.Db.Models.WaifuItem", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<string>("ItemEmoji")
                    .HasColumnType("TEXT");

                b.Property<string>("Name")
                    .HasColumnType("TEXT");

                b.Property<int?>("WaifuInfoId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("WaifuInfoId");

                b.ToTable("WaifuItem");
            });

            modelBuilder.Entity("EllieBot.Db.Models.WaifuUpdate", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<int?>("NewId")
                    .HasColumnType("INTEGER");

                b.Property<int?>("OldId")
                    .HasColumnType("INTEGER");

                b.Property<int>("UpdateType")
                    .HasColumnType("INTEGER");

                b.Property<int>("UserId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("NewId");

                b.HasIndex("OldId");

                b.HasIndex("UserId");

                b.ToTable("WaifuUpdates");
            });

            modelBuilder.Entity("EllieBot.Db.Models.Warning", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<bool>("Forgiven")
                    .HasColumnType("INTEGER");

                b.Property<string>("ForgivenBy")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<string>("Moderator")
                    .HasColumnType("TEXT");

                b.Property<string>("Reason")
                    .HasColumnType("TEXT");

                b.Property<ulong>("UserId")
                    .HasColumnType("INTEGER");

                b.Property<long>("Weight")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER")
                    .HasDefaultValue(1L);

                b.HasKey("Id");

                b.HasIndex("DateAdded");

                b.HasIndex("GuildId");

                b.HasIndex("UserId");

                b.ToTable("Warnings");
            });

            modelBuilder.Entity("EllieBot.Db.Models.WarningPunishment", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<int>("Count")
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<int>("Punishment")
                    .HasColumnType("INTEGER");

                b.Property<ulong?>("RoleId")
                    .HasColumnType("INTEGER");

                b.Property<int>("Time")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasAlternateKey("GuildId", "Count");

                b.ToTable("WarningPunishment");
            });

            modelBuilder.Entity("EllieBot.Db.Models.XpCurrencyReward", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<int>("Amount")
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<int>("Level")
                    .HasColumnType("INTEGER");

                b.Property<int>("XpSettingsId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("XpSettingsId");

                b.HasIndex("Level", "XpSettingsId")
                    .IsUnique();

                b.ToTable("XpCurrencyReward");
            });

            modelBuilder.Entity("EllieBot.Db.Models.XpRoleReward", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<int>("Level")
                    .HasColumnType("INTEGER");

                b.Property<bool>("Remove")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("RoleId")
                    .HasColumnType("INTEGER");

                b.Property<int>("XpSettingsId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("XpSettingsId", "Level")
                    .IsUnique();

                b.ToTable("XpRoleReward");
            });

            modelBuilder.Entity("EllieBot.Db.Models.XpSettings", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("GuildId")
                    .IsUnique();

                b.ToTable("XpSettings");
            });

            modelBuilder.Entity("EllieBot.Db.Models.XpShopOwnedItem", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("TEXT");

                b.Property<bool>("IsUsing")
                    .HasColumnType("INTEGER");

                b.Property<string>("ItemKey")
                    .IsRequired()
                    .HasColumnType("TEXT");

                b.Property<int>("ItemType")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("UserId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("UserId", "ItemType", "ItemKey")
                    .IsUnique();

                b.ToTable("XpShopOwnedItem");
            });

            modelBuilder.Entity("EllieBot.Modules.Games.FishCatch", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<int>("Count")
                    .HasColumnType("INTEGER");

                b.Property<int>("FishId")
                    .HasColumnType("INTEGER");

                b.Property<int>("MaxStars")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("UserId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasAlternateKey("UserId", "FishId");

                b.ToTable("FishCatch");
            });

            modelBuilder.Entity("EllieBot.Modules.Games.UserFishStats", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<int?>("Bait")
                    .HasColumnType("INTEGER");

                b.Property<int?>("Pole")
                    .HasColumnType("INTEGER");

                b.Property<int>("Skill")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("UserId")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("UserId")
                    .IsUnique();

                b.ToTable("UserFishStats");
            });

            modelBuilder.Entity("EllieBot.Modules.Utility.UserRole.UserRole", b =>
            {
                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("UserId")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("RoleId")
                    .HasColumnType("INTEGER");

                b.HasKey("GuildId", "UserId", "RoleId");

                b.HasIndex("GuildId");

                b.HasIndex("GuildId", "UserId");

                b.ToTable("UserRole");
            });

            modelBuilder.Entity("EllieBot.Modules.Xp.ChannelXpConfig", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<ulong>("ChannelId")
                    .HasColumnType("INTEGER");

                b.Property<float>("Cooldown")
                    .HasColumnType("REAL");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<int>("RateType")
                    .HasColumnType("INTEGER");

                b.Property<long>("XpAmount")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasAlternateKey("GuildId", "ChannelId", "RateType");

                b.ToTable("ChannelXpConfig");
            });

            modelBuilder.Entity("EllieBot.Modules.Xp.GuildXpConfig", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<float>("Cooldown")
                    .HasColumnType("REAL");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<int>("RateType")
                    .HasColumnType("INTEGER");

                b.Property<long>("XpAmount")
                    .HasColumnType("INTEGER");

                b.Property<string>("XpTemplateUrl")
                    .HasColumnType("TEXT");

                b.HasKey("Id");

                b.HasAlternateKey("GuildId", "RateType");

                b.ToTable("GuildXpConfig");
            });

            modelBuilder.Entity("EllieBot.Services.GreetSettings", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<int>("AutoDeleteTimer")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER")
                    .HasDefaultValue(0);

                b.Property<ulong?>("ChannelId")
                    .HasColumnType("INTEGER");

                b.Property<int>("GreetType")
                    .HasColumnType("INTEGER");

                b.Property<ulong>("GuildId")
                    .HasColumnType("INTEGER");

                b.Property<bool>("IsEnabled")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER")
                    .HasDefaultValue(false);

                b.Property<string>("MessageText")
                    .HasColumnType("TEXT");

                b.HasKey("Id");

                b.HasIndex("GuildId", "GreetType")
                    .IsUnique();

                b.ToTable("GreetSettings");
            });

            modelBuilder.Entity("EllieBot.Services.Rakeback", b =>
            {
                b.Property<ulong>("UserId")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<decimal>("Amount")
                    .HasColumnType("TEXT");

                b.HasKey("UserId");

                b.ToTable("Rakeback");
            });

            modelBuilder.Entity("EllieBot.Services.UserBetStats", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("INTEGER");

                b.Property<int>("Game")
                    .HasColumnType("INTEGER");

                b.Property<long>("LoseCount")
                    .HasColumnType("INTEGER");

                b.Property<long>("MaxBet")
                    .HasColumnType("INTEGER");

                b.Property<long>("MaxWin")
                    .HasColumnType("INTEGER");

                b.Property<decimal>("PaidOut")
                    .HasColumnType("TEXT");

                b.Property<decimal>("TotalBet")
                    .HasColumnType("TEXT");

                b.Property<ulong>("UserId")
                    .HasColumnType("INTEGER");

                b.Property<long>("WinCount")
                    .HasColumnType("INTEGER");

                b.HasKey("Id");

                b.HasIndex("MaxWin");

                b.HasIndex("UserId", "Game")
                    .IsUnique();

                b.ToTable("UserBetStats");
            });

            modelBuilder.Entity("EllieBot.Db.Models.AntiSpamIgnore", b =>
            {
                b.HasOne("EllieBot.Db.Models.AntiSpamSetting", null)
                    .WithMany("IgnoredChannels")
                    .HasForeignKey("AntiSpamSettingId")
                    .OnDelete(DeleteBehavior.Cascade);
            });

            modelBuilder.Entity("EllieBot.Db.Models.AutoTranslateUser", b =>
            {
                b.HasOne("EllieBot.Db.Models.AutoTranslateChannel", "Channel")
                    .WithMany("Users")
                    .HasForeignKey("ChannelId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .IsRequired();

                b.Navigation("Channel");
            });

            modelBuilder.Entity("EllieBot.Db.Models.ClubApplicants", b =>
            {
                b.HasOne("EllieBot.Db.Models.ClubInfo", "Club")
                    .WithMany("Applicants")
                    .HasForeignKey("ClubId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .IsRequired();

                b.HasOne("EllieBot.Db.Models.DiscordUser", "User")
                    .WithMany()
                    .HasForeignKey("UserId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .IsRequired();

                b.Navigation("Club");

                b.Navigation("User");
            });

            modelBuilder.Entity("EllieBot.Db.Models.ClubBans", b =>
            {
                b.HasOne("EllieBot.Db.Models.ClubInfo", "Club")
                    .WithMany("Bans")
                    .HasForeignKey("ClubId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .IsRequired();

                b.HasOne("EllieBot.Db.Models.DiscordUser", "User")
                    .WithMany()
                    .HasForeignKey("UserId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .IsRequired();

                b.Navigation("Club");

                b.Navigation("User");
            });

            modelBuilder.Entity("EllieBot.Db.Models.ClubInfo", b =>
            {
                b.HasOne("EllieBot.Db.Models.DiscordUser", "Owner")
                    .WithOne()
                    .HasForeignKey("EllieBot.Db.Models.ClubInfo", "OwnerId")
                    .OnDelete(DeleteBehavior.SetNull);

                b.Navigation("Owner");
            });

            modelBuilder.Entity("EllieBot.Db.Models.DiscordUser", b =>
            {
                b.HasOne("EllieBot.Db.Models.ClubInfo", "Club")
                    .WithMany("Members")
                    .HasForeignKey("ClubId")
                    .OnDelete(DeleteBehavior.NoAction);

                b.Navigation("Club");
            });

            modelBuilder.Entity("EllieBot.Db.Models.FilterChannelId", b =>
            {
                b.HasOne("EllieBot.Db.Models.GuildFilterConfig", null)
                    .WithMany("FilterInvitesChannelIds")
                    .HasForeignKey("GuildFilterConfigId");
            });

            modelBuilder.Entity("EllieBot.Db.Models.FilterLinksChannelId", b =>
            {
                b.HasOne("EllieBot.Db.Models.GuildFilterConfig", null)
                    .WithMany("FilterLinksChannelIds")
                    .HasForeignKey("GuildFilterConfigId");
            });

            modelBuilder.Entity("EllieBot.Db.Models.FilterWordsChannelId", b =>
            {
                b.HasOne("EllieBot.Db.Models.GuildFilterConfig", null)
                    .WithMany("FilterWordsChannelIds")
                    .HasForeignKey("GuildFilterConfigId");
            });

            modelBuilder.Entity("EllieBot.Db.Models.FilteredWord", b =>
            {
                b.HasOne("EllieBot.Db.Models.GuildFilterConfig", null)
                    .WithMany("FilteredWords")
                    .HasForeignKey("GuildFilterConfigId");
            });

            modelBuilder.Entity("EllieBot.Db.Models.GiveawayUser", b =>
            {
                b.HasOne("EllieBot.Db.Models.GiveawayModel", null)
                    .WithMany("Participants")
                    .HasForeignKey("GiveawayId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .IsRequired();
            });

            modelBuilder.Entity("EllieBot.Db.Models.IgnoredLogItem", b =>
            {
                b.HasOne("EllieBot.Db.Models.LogSetting", "LogSetting")
                    .WithMany("LogIgnores")
                    .HasForeignKey("LogSettingId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .IsRequired();

                b.Navigation("LogSetting");
            });

            modelBuilder.Entity("EllieBot.Db.Models.Permissionv2", b =>
            {
                b.HasOne("EllieBot.Db.Models.GuildConfig", null)
                    .WithMany("Permissions")
                    .HasForeignKey("GuildConfigId");
            });

            modelBuilder.Entity("EllieBot.Db.Models.PlaylistSong", b =>
            {
                b.HasOne("EllieBot.Db.Models.MusicPlaylist", null)
                    .WithMany("Songs")
                    .HasForeignKey("MusicPlaylistId")
                    .OnDelete(DeleteBehavior.Cascade);
            });

            modelBuilder.Entity("EllieBot.Db.Models.Sar", b =>
            {
                b.HasOne("EllieBot.Db.Models.SarGroup", null)
                    .WithMany("Roles")
                    .HasForeignKey("SarGroupId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .IsRequired();
            });

            modelBuilder.Entity("EllieBot.Db.Models.ShopEntryItem", b =>
            {
                b.HasOne("EllieBot.Db.Models.ShopEntry", null)
                    .WithMany("Items")
                    .HasForeignKey("ShopEntryId")
                    .OnDelete(DeleteBehavior.Cascade);
            });

            modelBuilder.Entity("EllieBot.Db.Models.StreamRoleBlacklistedUser", b =>
            {
                b.HasOne("EllieBot.Db.Models.StreamRoleSettings", "StreamRoleSettings")
                    .WithMany("Blacklist")
                    .HasForeignKey("StreamRoleSettingsId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .IsRequired();

                b.Navigation("StreamRoleSettings");
            });

            modelBuilder.Entity("EllieBot.Db.Models.StreamRoleWhitelistedUser", b =>
            {
                b.HasOne("EllieBot.Db.Models.StreamRoleSettings", "StreamRoleSettings")
                    .WithMany("Whitelist")
                    .HasForeignKey("StreamRoleSettingsId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .IsRequired();

                b.Navigation("StreamRoleSettings");
            });

            modelBuilder.Entity("EllieBot.Db.Models.TodoModel", b =>
            {
                b.HasOne("EllieBot.Db.Models.ArchivedTodoListModel", null)
                    .WithMany("Items")
                    .HasForeignKey("ArchiveId")
                    .OnDelete(DeleteBehavior.Cascade);
            });

            modelBuilder.Entity("EllieBot.Db.Models.WaifuInfo", b =>
            {
                b.HasOne("EllieBot.Db.Models.DiscordUser", "Affinity")
                    .WithMany()
                    .HasForeignKey("AffinityId");

                b.HasOne("EllieBot.Db.Models.DiscordUser", "Claimer")
                    .WithMany()
                    .HasForeignKey("ClaimerId");

                b.HasOne("EllieBot.Db.Models.DiscordUser", "Waifu")
                    .WithOne()
                    .HasForeignKey("EllieBot.Db.Models.WaifuInfo", "WaifuId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .IsRequired();

                b.Navigation("Affinity");

                b.Navigation("Claimer");

                b.Navigation("Waifu");
            });

            modelBuilder.Entity("EllieBot.Db.Models.WaifuItem", b =>
            {
                b.HasOne("EllieBot.Db.Models.WaifuInfo", "WaifuInfo")
                    .WithMany("Items")
                    .HasForeignKey("WaifuInfoId");

                b.Navigation("WaifuInfo");
            });

            modelBuilder.Entity("EllieBot.Db.Models.WaifuUpdate", b =>
            {
                b.HasOne("EllieBot.Db.Models.DiscordUser", "New")
                    .WithMany()
                    .HasForeignKey("NewId");

                b.HasOne("EllieBot.Db.Models.DiscordUser", "Old")
                    .WithMany()
                    .HasForeignKey("OldId");

                b.HasOne("EllieBot.Db.Models.DiscordUser", "User")
                    .WithMany()
                    .HasForeignKey("UserId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .IsRequired();

                b.Navigation("New");

                b.Navigation("Old");

                b.Navigation("User");
            });

            modelBuilder.Entity("EllieBot.Db.Models.XpCurrencyReward", b =>
            {
                b.HasOne("EllieBot.Db.Models.XpSettings", null)
                    .WithMany("CurrencyRewards")
                    .HasForeignKey("XpSettingsId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .IsRequired();
            });

            modelBuilder.Entity("EllieBot.Db.Models.XpRoleReward", b =>
            {
                b.HasOne("EllieBot.Db.Models.XpSettings", null)
                    .WithMany("RoleRewards")
                    .HasForeignKey("XpSettingsId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .IsRequired();
            });

            modelBuilder.Entity("EllieBot.Db.Models.AntiSpamSetting", b =>
            {
                b.Navigation("IgnoredChannels");
            });

            modelBuilder.Entity("EllieBot.Db.Models.ArchivedTodoListModel", b =>
            {
                b.Navigation("Items");
            });

            modelBuilder.Entity("EllieBot.Db.Models.AutoTranslateChannel", b =>
            {
                b.Navigation("Users");
            });

            modelBuilder.Entity("EllieBot.Db.Models.ClubInfo", b =>
            {
                b.Navigation("Applicants");

                b.Navigation("Bans");

                b.Navigation("Members");
            });

            modelBuilder.Entity("EllieBot.Db.Models.GiveawayModel", b =>
            {
                b.Navigation("Participants");
            });

            modelBuilder.Entity("EllieBot.Db.Models.GuildConfig", b =>
            {
                b.Navigation("Permissions");
            });

            modelBuilder.Entity("EllieBot.Db.Models.GuildFilterConfig", b =>
            {
                b.Navigation("FilterInvitesChannelIds");

                b.Navigation("FilterLinksChannelIds");

                b.Navigation("FilterWordsChannelIds");

                b.Navigation("FilteredWords");
            });

            modelBuilder.Entity("EllieBot.Db.Models.LogSetting", b =>
            {
                b.Navigation("LogIgnores");
            });

            modelBuilder.Entity("EllieBot.Db.Models.MusicPlaylist", b =>
            {
                b.Navigation("Songs");
            });

            modelBuilder.Entity("EllieBot.Db.Models.SarGroup", b =>
            {
                b.Navigation("Roles");
            });

            modelBuilder.Entity("EllieBot.Db.Models.ShopEntry", b =>
            {
                b.Navigation("Items");
            });

            modelBuilder.Entity("EllieBot.Db.Models.StreamRoleSettings", b =>
            {
                b.Navigation("Blacklist");

                b.Navigation("Whitelist");
            });

            modelBuilder.Entity("EllieBot.Db.Models.WaifuInfo", b =>
            {
                b.Navigation("Items");
            });

            modelBuilder.Entity("EllieBot.Db.Models.XpSettings", b =>
            {
                b.Navigation("CurrencyRewards");

                b.Navigation("RoleRewards");
            });
#pragma warning restore 612, 618
        }
    }
}