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

#nullable disable

namespace EllieBot.Migrations.PostgreSql
{
    [DbContext(typeof(PostgreSqlContext))]
    [Migration("20241102022956_no-discrim-and-flag-translate")]
    partial class nodiscrimandflagtranslate
    {
        /// <inheritdoc />
        protected override void BuildTargetModel(ModelBuilder modelBuilder)
        {
#pragma warning disable 612, 618
            modelBuilder
                .HasAnnotation("ProductVersion", "8.0.8")
                .HasAnnotation("Relational:MaxIdentifierLength", 63);

            NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<int>("Action")
                    .HasColumnType("integer")
                    .HasColumnName("action");

                b.Property<int>("ActionDurationMinutes")
                    .HasColumnType("integer")
                    .HasColumnName("actiondurationminutes");

                b.Property<int>("GuildConfigId")
                    .HasColumnType("integer")
                    .HasColumnName("guildconfigid");

                b.Property<TimeSpan>("MinAge")
                    .HasColumnType("interval")
                    .HasColumnName("minage");

                b.Property<decimal?>("RoleId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("roleid");

                b.HasKey("Id")
                    .HasName("pk_antialtsetting");

                b.HasIndex("GuildConfigId")
                    .IsUnique()
                    .HasDatabaseName("ix_antialtsetting_guildconfigid");

                b.ToTable("antialtsetting", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<int>("Action")
                    .HasColumnType("integer")
                    .HasColumnName("action");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int>("GuildConfigId")
                    .HasColumnType("integer")
                    .HasColumnName("guildconfigid");

                b.Property<int>("PunishDuration")
                    .HasColumnType("integer")
                    .HasColumnName("punishduration");

                b.Property<int>("Seconds")
                    .HasColumnType("integer")
                    .HasColumnName("seconds");

                b.Property<int>("UserThreshold")
                    .HasColumnType("integer")
                    .HasColumnName("userthreshold");

                b.HasKey("Id")
                    .HasName("pk_antiraidsetting");

                b.HasIndex("GuildConfigId")
                    .IsUnique()
                    .HasDatabaseName("ix_antiraidsetting_guildconfigid");

                b.ToTable("antiraidsetting", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<int?>("AntiSpamSettingId")
                    .HasColumnType("integer")
                    .HasColumnName("antispamsettingid");

                b.Property<decimal>("ChannelId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("channelid");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.HasKey("Id")
                    .HasName("pk_antispamignore");

                b.HasIndex("AntiSpamSettingId")
                    .HasDatabaseName("ix_antispamignore_antispamsettingid");

                b.ToTable("antispamignore", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<int>("Action")
                    .HasColumnType("integer")
                    .HasColumnName("action");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int>("GuildConfigId")
                    .HasColumnType("integer")
                    .HasColumnName("guildconfigid");

                b.Property<int>("MessageThreshold")
                    .HasColumnType("integer")
                    .HasColumnName("messagethreshold");

                b.Property<int>("MuteTime")
                    .HasColumnType("integer")
                    .HasColumnName("mutetime");

                b.Property<decimal?>("RoleId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("roleid");

                b.HasKey("Id")
                    .HasName("pk_antispamsetting");

                b.HasIndex("GuildConfigId")
                    .IsUnique()
                    .HasDatabaseName("ix_antispamsetting_guildconfigid");

                b.ToTable("antispamsetting", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<string>("Name")
                    .HasColumnType("text")
                    .HasColumnName("name");

                b.Property<decimal>("UserId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("userid");

                b.HasKey("Id")
                    .HasName("pk_todosarchive");

                b.ToTable("todosarchive", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<decimal>("ChannelId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("channelid");

                b.Property<string>("ChannelName")
                    .HasColumnType("text")
                    .HasColumnName("channelname");

                b.Property<string>("CommandText")
                    .HasColumnType("text")
                    .HasColumnName("commandtext");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<decimal?>("GuildId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("guildid");

                b.Property<string>("GuildName")
                    .HasColumnType("text")
                    .HasColumnName("guildname");

                b.Property<int>("Interval")
                    .HasColumnType("integer")
                    .HasColumnName("interval");

                b.Property<decimal?>("VoiceChannelId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("voicechannelid");

                b.Property<string>("VoiceChannelName")
                    .HasColumnType("text")
                    .HasColumnName("voicechannelname");

                b.HasKey("Id")
                    .HasName("pk_autocommands");

                b.ToTable("autocommands", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<decimal>("ChannelId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("channelid");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<decimal>("GuildId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("guildid");

                b.HasKey("Id")
                    .HasName("pk_autopublishchannel");

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

                b.ToTable("autopublishchannel", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<bool>("AutoDelete")
                    .HasColumnType("boolean")
                    .HasColumnName("autodelete");

                b.Property<decimal>("ChannelId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("channelid");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<decimal>("GuildId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("guildid");

                b.HasKey("Id")
                    .HasName("pk_autotranslatechannels");

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

                b.HasIndex("GuildId")
                    .HasDatabaseName("ix_autotranslatechannels_guildid");

                b.ToTable("autotranslatechannels", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<int>("ChannelId")
                    .HasColumnType("integer")
                    .HasColumnName("channelid");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<string>("Source")
                    .HasColumnType("text")
                    .HasColumnName("source");

                b.Property<string>("Target")
                    .HasColumnType("text")
                    .HasColumnName("target");

                b.Property<decimal>("UserId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("userid");

                b.HasKey("Id")
                    .HasName("pk_autotranslateusers");

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

                b.ToTable("autotranslateusers", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<decimal>("GuildId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("guildid");

                b.Property<int?>("PruneDays")
                    .HasColumnType("integer")
                    .HasColumnName("prunedays");

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

                b.HasKey("Id")
                    .HasName("pk_bantemplates");

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

                b.ToTable("bantemplates", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<long>("Balance")
                    .HasColumnType("bigint")
                    .HasColumnName("balance");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<decimal>("UserId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("userid");

                b.HasKey("Id")
                    .HasName("pk_bankusers");

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

                b.ToTable("bankusers", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<decimal>("ItemId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("itemid");

                b.Property<int>("Type")
                    .HasColumnType("integer")
                    .HasColumnName("type");

                b.HasKey("Id")
                    .HasName("pk_blacklist");

                b.ToTable("blacklist", (string)null);
            });

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

                b.Property<int>("UserId")
                    .HasColumnType("integer")
                    .HasColumnName("userid");

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

                b.HasIndex("UserId")
                    .HasDatabaseName("ix_clubapplicants_userid");

                b.ToTable("clubapplicants", (string)null);
            });

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

                b.Property<int>("UserId")
                    .HasColumnType("integer")
                    .HasColumnName("userid");

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

                b.HasIndex("UserId")
                    .HasDatabaseName("ix_clubbans_userid");

                b.ToTable("clubbans", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<string>("Description")
                    .HasColumnType("text")
                    .HasColumnName("description");

                b.Property<string>("ImageUrl")
                    .HasColumnType("text")
                    .HasColumnName("imageurl");

                b.Property<string>("Name")
                    .HasMaxLength(20)
                    .HasColumnType("character varying(20)")
                    .HasColumnName("name");

                b.Property<int?>("OwnerId")
                    .HasColumnType("integer")
                    .HasColumnName("ownerid");

                b.Property<int>("Xp")
                    .HasColumnType("integer")
                    .HasColumnName("xp");

                b.HasKey("Id")
                    .HasName("pk_clubs");

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

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

                b.ToTable("clubs", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int?>("GuildConfigId")
                    .HasColumnType("integer")
                    .HasColumnName("guildconfigid");

                b.Property<string>("Mapping")
                    .HasColumnType("text")
                    .HasColumnName("mapping");

                b.Property<string>("Trigger")
                    .HasColumnType("text")
                    .HasColumnName("trigger");

                b.HasKey("Id")
                    .HasName("pk_commandalias");

                b.HasIndex("GuildConfigId")
                    .HasDatabaseName("ix_commandalias_guildconfigid");

                b.ToTable("commandalias", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<string>("CommandName")
                    .HasColumnType("text")
                    .HasColumnName("commandname");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int?>("GuildConfigId")
                    .HasColumnType("integer")
                    .HasColumnName("guildconfigid");

                b.Property<int>("Seconds")
                    .HasColumnType("integer")
                    .HasColumnName("seconds");

                b.HasKey("Id")
                    .HasName("pk_commandcooldown");

                b.HasIndex("GuildConfigId")
                    .HasDatabaseName("ix_commandcooldown_guildconfigid");

                b.ToTable("commandcooldown", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<long>("Amount")
                    .HasColumnType("bigint")
                    .HasColumnName("amount");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<string>("Extra")
                    .IsRequired()
                    .HasColumnType("text")
                    .HasColumnName("extra");

                b.Property<string>("Note")
                    .HasColumnType("text")
                    .HasColumnName("note");

                b.Property<decimal?>("OtherId")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("otherid")
                    .HasDefaultValueSql("NULL");

                b.Property<string>("Type")
                    .IsRequired()
                    .HasColumnType("text")
                    .HasColumnName("type");

                b.Property<decimal>("UserId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("userid");

                b.HasKey("Id")
                    .HasName("pk_currencytransactions");

                b.HasIndex("UserId")
                    .HasDatabaseName("ix_currencytransactions_userid");

                b.ToTable("currencytransactions", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<decimal>("ChannelId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("channelid");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int>("GuildConfigId")
                    .HasColumnType("integer")
                    .HasColumnName("guildconfigid");

                b.Property<bool>("State")
                    .HasColumnType("boolean")
                    .HasColumnName("state");

                b.HasKey("Id")
                    .HasName("pk_delmsgoncmdchannel");

                b.HasIndex("GuildConfigId")
                    .HasDatabaseName("ix_delmsgoncmdchannel_guildconfigid");

                b.ToTable("delmsgoncmdchannel", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<string>("Command")
                    .HasColumnType("text")
                    .HasColumnName("command");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<decimal?>("GuildId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("guildid");

                b.Property<decimal>("Perm")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("perm");

                b.HasKey("Id")
                    .HasName("pk_discordpermoverrides");

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

                b.ToTable("discordpermoverrides", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<string>("AvatarId")
                    .HasColumnType("text")
                    .HasColumnName("avatarid");

                b.Property<int?>("ClubId")
                    .HasColumnType("integer")
                    .HasColumnName("clubid");

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

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<bool>("IsClubAdmin")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("boolean")
                    .HasDefaultValue(false)
                    .HasColumnName("isclubadmin");

                b.Property<int>("NotifyOnLevelUp")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("integer")
                    .HasDefaultValue(0)
                    .HasColumnName("notifyonlevelup");

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

                b.Property<decimal>("UserId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("userid");

                b.Property<string>("Username")
                    .HasColumnType("text")
                    .HasColumnName("username");

                b.HasKey("Id")
                    .HasName("pk_discorduser");

                b.HasAlternateKey("UserId")
                    .HasName("ak_discorduser_userid");

                b.HasIndex("ClubId")
                    .HasDatabaseName("ix_discorduser_clubid");

                b.HasIndex("CurrencyAmount")
                    .HasDatabaseName("ix_discorduser_currencyamount");

                b.HasIndex("TotalXp")
                    .HasDatabaseName("ix_discorduser_totalxp");

                b.HasIndex("UserId")
                    .HasDatabaseName("ix_discorduser_userid");

                b.HasIndex("Username")
                    .HasDatabaseName("ix_discorduser_username");

                b.ToTable("discorduser", (string)null);
            });

            modelBuilder.Entity("EllieBot.Db.Models.ExcludedItem", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("integer")
                    .HasColumnName("id");

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<decimal>("ItemId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("itemid");

                b.Property<int>("ItemType")
                    .HasColumnType("integer")
                    .HasColumnName("itemtype");

                b.Property<int?>("XpSettingsId")
                    .HasColumnType("integer")
                    .HasColumnName("xpsettingsid");

                b.HasKey("Id")
                    .HasName("pk_excludeditem");

                b.HasIndex("XpSettingsId")
                    .HasDatabaseName("ix_excludeditem_xpsettingsid");

                b.ToTable("excludeditem", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<decimal>("ChannelId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("channelid");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int>("GuildConfigId")
                    .HasColumnType("integer")
                    .HasColumnName("guildconfigid");

                b.Property<string>("Message")
                    .HasColumnType("text")
                    .HasColumnName("message");

                b.Property<string>("Url")
                    .IsRequired()
                    .HasColumnType("text")
                    .HasColumnName("url");

                b.HasKey("Id")
                    .HasName("pk_feedsub");

                b.HasAlternateKey("GuildConfigId", "Url")
                    .HasName("ak_feedsub_guildconfigid_url");

                b.ToTable("feedsub", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<decimal>("ChannelId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("channelid");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int?>("GuildConfigId")
                    .HasColumnType("integer")
                    .HasColumnName("guildconfigid");

                b.HasKey("Id")
                    .HasName("pk_filterchannelid");

                b.HasIndex("GuildConfigId")
                    .HasDatabaseName("ix_filterchannelid_guildconfigid");

                b.ToTable("filterchannelid", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<decimal>("ChannelId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("channelid");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int?>("GuildConfigId")
                    .HasColumnType("integer")
                    .HasColumnName("guildconfigid");

                b.HasKey("Id")
                    .HasName("pk_filterlinkschannelid");

                b.HasIndex("GuildConfigId")
                    .HasDatabaseName("ix_filterlinkschannelid_guildconfigid");

                b.ToTable("filterlinkschannelid", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<decimal>("ChannelId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("channelid");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int?>("GuildConfigId")
                    .HasColumnType("integer")
                    .HasColumnName("guildconfigid");

                b.HasKey("Id")
                    .HasName("pk_filterwordschannelid");

                b.HasIndex("GuildConfigId")
                    .HasDatabaseName("ix_filterwordschannelid_guildconfigid");

                b.ToTable("filterwordschannelid", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int?>("GuildConfigId")
                    .HasColumnType("integer")
                    .HasColumnName("guildconfigid");

                b.Property<string>("Word")
                    .HasColumnType("text")
                    .HasColumnName("word");

                b.HasKey("Id")
                    .HasName("pk_filteredword");

                b.HasIndex("GuildConfigId")
                    .HasDatabaseName("ix_filteredword_guildconfigid");

                b.ToTable("filteredword", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<decimal>("ChannelId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("channelid");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<decimal>("GuildId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("guildid");

                b.HasKey("Id")
                    .HasName("pk_flagtranslatechannel");

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

                b.ToTable("flagtranslatechannel", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<decimal>("ChannelId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("channelid");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int?>("GuildConfigId")
                    .HasColumnType("integer")
                    .HasColumnName("guildconfigid");

                b.Property<decimal>("GuildId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("guildid");

                b.Property<string>("Message")
                    .HasColumnType("text")
                    .HasColumnName("message");

                b.Property<int>("Type")
                    .HasColumnType("integer")
                    .HasColumnName("type");

                b.Property<string>("Username")
                    .HasColumnType("text")
                    .HasColumnName("username");

                b.HasKey("Id")
                    .HasName("pk_followedstream");

                b.HasIndex("GuildConfigId")
                    .HasDatabaseName("ix_followedstream_guildconfigid");

                b.ToTable("followedstream", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<decimal>("ChannelId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("channelid");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int?>("GuildConfigId")
                    .HasColumnType("integer")
                    .HasColumnName("guildconfigid");

                b.HasKey("Id")
                    .HasName("pk_gcchannelid");

                b.HasIndex("GuildConfigId")
                    .HasDatabaseName("ix_gcchannelid_guildconfigid");

                b.ToTable("gcchannelid", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<decimal>("Bet")
                    .HasColumnType("numeric")
                    .HasColumnName("bet");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<string>("Feature")
                    .HasColumnType("text")
                    .HasColumnName("feature");

                b.Property<decimal>("PaidOut")
                    .HasColumnType("numeric")
                    .HasColumnName("paidout");

                b.HasKey("Id")
                    .HasName("pk_gamblingstats");

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

                b.ToTable("gamblingstats", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<decimal>("ChannelId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("channelid");

                b.Property<DateTime>("EndsAt")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("endsat");

                b.Property<decimal>("GuildId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("guildid");

                b.Property<string>("Message")
                    .HasColumnType("text")
                    .HasColumnName("message");

                b.Property<decimal>("MessageId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("messageid");

                b.HasKey("Id")
                    .HasName("pk_giveawaymodel");

                b.ToTable("giveawaymodel", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<int>("GiveawayId")
                    .HasColumnType("integer")
                    .HasColumnName("giveawayid");

                b.Property<string>("Name")
                    .HasColumnType("text")
                    .HasColumnName("name");

                b.Property<decimal>("UserId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("userid");

                b.HasKey("Id")
                    .HasName("pk_giveawayuser");

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

                b.ToTable("giveawayuser", (string)null);
            });

            modelBuilder.Entity("EllieBot.Db.Models.GroupName", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("integer")
                    .HasColumnName("id");

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int>("GuildConfigId")
                    .HasColumnType("integer")
                    .HasColumnName("guildconfigid");

                b.Property<string>("Name")
                    .HasColumnType("text")
                    .HasColumnName("name");

                b.Property<int>("Number")
                    .HasColumnType("integer")
                    .HasColumnName("number");

                b.HasKey("Id")
                    .HasName("pk_groupname");

                b.HasIndex("GuildConfigId", "Number")
                    .IsUnique()
                    .HasDatabaseName("ix_groupname_guildconfigid_number");

                b.ToTable("groupname", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<string>("AutoAssignRoleIds")
                    .HasColumnType("text")
                    .HasColumnName("autoassignroleids");

                b.Property<bool>("AutoDeleteSelfAssignedRoleMessages")
                    .HasColumnType("boolean")
                    .HasColumnName("autodeleteselfassignedrolemessages");

                b.Property<bool>("CleverbotEnabled")
                    .HasColumnType("boolean")
                    .HasColumnName("cleverbotenabled");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<bool>("DeleteMessageOnCommand")
                    .HasColumnType("boolean")
                    .HasColumnName("deletemessageoncommand");

                b.Property<bool>("DeleteStreamOnlineMessage")
                    .HasColumnType("boolean")
                    .HasColumnName("deletestreamonlinemessage");

                b.Property<bool>("DisableGlobalExpressions")
                    .HasColumnType("boolean")
                    .HasColumnName("disableglobalexpressions");

                b.Property<bool>("ExclusiveSelfAssignedRoles")
                    .HasColumnType("boolean")
                    .HasColumnName("exclusiveselfassignedroles");

                b.Property<bool>("FilterInvites")
                    .HasColumnType("boolean")
                    .HasColumnName("filterinvites");

                b.Property<bool>("FilterLinks")
                    .HasColumnType("boolean")
                    .HasColumnName("filterlinks");

                b.Property<bool>("FilterWords")
                    .HasColumnType("boolean")
                    .HasColumnName("filterwords");

                b.Property<decimal?>("GameVoiceChannel")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("gamevoicechannel");

                b.Property<decimal>("GuildId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("guildid");

                b.Property<string>("Locale")
                    .HasColumnType("text")
                    .HasColumnName("locale");

                b.Property<string>("MuteRoleName")
                    .HasColumnType("text")
                    .HasColumnName("muterolename");

                b.Property<bool>("NotifyStreamOffline")
                    .HasColumnType("boolean")
                    .HasColumnName("notifystreamoffline");

                b.Property<string>("PermissionRole")
                    .HasColumnType("text")
                    .HasColumnName("permissionrole");

                b.Property<string>("Prefix")
                    .HasColumnType("text")
                    .HasColumnName("prefix");

                b.Property<bool>("StickyRoles")
                    .HasColumnType("boolean")
                    .HasColumnName("stickyroles");

                b.Property<string>("TimeZoneId")
                    .HasColumnType("text")
                    .HasColumnName("timezoneid");

                b.Property<bool>("VerboseErrors")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("boolean")
                    .HasDefaultValue(true)
                    .HasColumnName("verboseerrors");

                b.Property<bool>("VerbosePermissions")
                    .HasColumnType("boolean")
                    .HasColumnName("verbosepermissions");

                b.Property<int>("WarnExpireAction")
                    .HasColumnType("integer")
                    .HasColumnName("warnexpireaction");

                b.Property<int>("WarnExpireHours")
                    .HasColumnType("integer")
                    .HasColumnName("warnexpirehours");

                b.Property<bool>("WarningsInitialized")
                    .HasColumnType("boolean")
                    .HasColumnName("warningsinitialized");

                b.HasKey("Id")
                    .HasName("pk_guildconfigs");

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

                b.HasIndex("WarnExpireHours")
                    .HasDatabaseName("ix_guildconfigs_warnexpirehours");

                b.ToTable("guildconfigs", (string)null);
            });

            modelBuilder.Entity("EllieBot.Db.Models.HoneypotChannel", b =>
            {
                b.Property<decimal>("GuildId")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("guildid");

                b.Property<decimal>("ChannelId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("channelid");

                b.HasKey("GuildId")
                    .HasName("pk_honeypotchannels");

                b.ToTable("honeypotchannels", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int>("ItemType")
                    .HasColumnType("integer")
                    .HasColumnName("itemtype");

                b.Property<decimal>("LogItemId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("logitemid");

                b.Property<int>("LogSettingId")
                    .HasColumnType("integer")
                    .HasColumnName("logsettingid");

                b.HasKey("Id")
                    .HasName("pk_ignoredlogchannels");

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

                b.ToTable("ignoredlogchannels", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<decimal>("ChannelId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("channelid");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<decimal>("GuildId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("guildid");

                b.Property<int>("Type")
                    .HasColumnType("integer")
                    .HasColumnName("type");

                b.HasKey("Id")
                    .HasName("pk_imageonlychannels");

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

                b.ToTable("imageonlychannels", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<decimal?>("ChannelCreatedId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("channelcreatedid");

                b.Property<decimal?>("ChannelDestroyedId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("channeldestroyedid");

                b.Property<decimal?>("ChannelUpdatedId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("channelupdatedid");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<decimal>("GuildId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("guildid");

                b.Property<decimal?>("LogOtherId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("logotherid");

                b.Property<decimal?>("LogUserPresenceId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("loguserpresenceid");

                b.Property<decimal?>("LogVoicePresenceId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("logvoicepresenceid");

                b.Property<decimal?>("LogVoicePresenceTTSId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("logvoicepresencettsid");

                b.Property<decimal?>("LogWarnsId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("logwarnsid");

                b.Property<decimal?>("MessageDeletedId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("messagedeletedid");

                b.Property<decimal?>("MessageUpdatedId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("messageupdatedid");

                b.Property<decimal?>("ThreadCreatedId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("threadcreatedid");

                b.Property<decimal?>("ThreadDeletedId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("threaddeletedid");

                b.Property<decimal?>("UserBannedId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("userbannedid");

                b.Property<decimal?>("UserJoinedId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("userjoinedid");

                b.Property<decimal?>("UserLeftId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("userleftid");

                b.Property<decimal?>("UserMutedId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("usermutedid");

                b.Property<decimal?>("UserUnbannedId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("userunbannedid");

                b.Property<decimal?>("UserUpdatedId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("userupdatedid");

                b.HasKey("Id")
                    .HasName("pk_logsettings");

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

                b.ToTable("logsettings", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<bool>("AutoDisconnect")
                    .HasColumnType("boolean")
                    .HasColumnName("autodisconnect");

                b.Property<bool>("AutoPlay")
                    .HasColumnType("boolean")
                    .HasColumnName("autoplay");

                b.Property<decimal>("GuildId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("guildid");

                b.Property<decimal?>("MusicChannelId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("musicchannelid");

                b.Property<int>("PlayerRepeat")
                    .HasColumnType("integer")
                    .HasColumnName("playerrepeat");

                b.Property<int>("QualityPreset")
                    .HasColumnType("integer")
                    .HasColumnName("qualitypreset");

                b.Property<int>("Volume")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("integer")
                    .HasDefaultValue(100)
                    .HasColumnName("volume");

                b.HasKey("Id")
                    .HasName("pk_musicplayersettings");

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

                b.ToTable("musicplayersettings", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<string>("Author")
                    .HasColumnType("text")
                    .HasColumnName("author");

                b.Property<decimal>("AuthorId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("authorid");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<string>("Name")
                    .HasColumnType("text")
                    .HasColumnName("name");

                b.HasKey("Id")
                    .HasName("pk_musicplaylists");

                b.ToTable("musicplaylists", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int?>("GuildConfigId")
                    .HasColumnType("integer")
                    .HasColumnName("guildconfigid");

                b.Property<decimal>("UserId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("userid");

                b.HasKey("Id")
                    .HasName("pk_muteduserid");

                b.HasIndex("GuildConfigId")
                    .HasDatabaseName("ix_muteduserid_guildconfigid");

                b.ToTable("muteduserid", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<long>("Color")
                    .HasColumnType("bigint")
                    .HasColumnName("color");

                b.Property<decimal>("OwnerId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("ownerid");

                b.Property<int>("Position")
                    .HasColumnType("integer")
                    .HasColumnName("position");

                b.Property<long>("Price")
                    .HasColumnType("bigint")
                    .HasColumnName("price");

                b.Property<string>("Text")
                    .IsRequired()
                    .HasMaxLength(256)
                    .HasColumnType("character varying(256)")
                    .HasColumnName("text");

                b.HasKey("Id")
                    .HasName("pk_ncpixel");

                b.HasAlternateKey("Position")
                    .HasName("ak_ncpixel_position");

                b.HasIndex("OwnerId")
                    .HasDatabaseName("ix_ncpixel_ownerid");

                b.ToTable("ncpixel", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<bool>("AllowTarget")
                    .HasColumnType("boolean")
                    .HasColumnName("allowtarget");

                b.Property<bool>("AutoDeleteTrigger")
                    .HasColumnType("boolean")
                    .HasColumnName("autodeletetrigger");

                b.Property<bool>("ContainsAnywhere")
                    .HasColumnType("boolean")
                    .HasColumnName("containsanywhere");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<bool>("DmResponse")
                    .HasColumnType("boolean")
                    .HasColumnName("dmresponse");

                b.Property<decimal?>("GuildId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("guildid");

                b.Property<string>("Reactions")
                    .HasColumnType("text")
                    .HasColumnName("reactions");

                b.Property<string>("Response")
                    .HasColumnType("text")
                    .HasColumnName("response");

                b.Property<string>("Trigger")
                    .HasColumnType("text")
                    .HasColumnName("trigger");

                b.HasKey("Id")
                    .HasName("pk_expressions");

                b.ToTable("expressions", (string)null);
            });

            modelBuilder.Entity("EllieBot.Db.Models.PatronUser", b =>
            {
                b.Property<decimal>("UserId")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("userid");

                b.Property<int>("AmountCents")
                    .HasColumnType("integer")
                    .HasColumnName("amountcents");

                b.Property<DateTime>("LastCharge")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("lastcharge");

                b.Property<string>("UniquePlatformUserId")
                    .HasColumnType("text")
                    .HasColumnName("uniqueplatformuserid");

                b.Property<DateTime>("ValidThru")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("validthru");

                b.HasKey("UserId")
                    .HasName("pk_patrons");

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

                b.ToTable("patrons", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int?>("GuildConfigId")
                    .HasColumnType("integer")
                    .HasColumnName("guildconfigid");

                b.Property<int>("Index")
                    .HasColumnType("integer")
                    .HasColumnName("index");

                b.Property<bool>("IsCustomCommand")
                    .HasColumnType("boolean")
                    .HasColumnName("iscustomcommand");

                b.Property<int>("PrimaryTarget")
                    .HasColumnType("integer")
                    .HasColumnName("primarytarget");

                b.Property<decimal>("PrimaryTargetId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("primarytargetid");

                b.Property<int>("SecondaryTarget")
                    .HasColumnType("integer")
                    .HasColumnName("secondarytarget");

                b.Property<string>("SecondaryTargetName")
                    .HasColumnType("text")
                    .HasColumnName("secondarytargetname");

                b.Property<bool>("State")
                    .HasColumnType("boolean")
                    .HasColumnName("state");

                b.HasKey("Id")
                    .HasName("pk_permissions");

                b.HasIndex("GuildConfigId")
                    .HasDatabaseName("ix_permissions_guildconfigid");

                b.ToTable("permissions", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<long>("Amount")
                    .HasColumnType("bigint")
                    .HasColumnName("amount");

                b.Property<decimal>("ChannelId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("channelid");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<decimal>("GuildId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("guildid");

                b.Property<decimal>("MessageId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("messageid");

                b.Property<string>("Password")
                    .HasColumnType("text")
                    .HasColumnName("password");

                b.Property<decimal>("UserId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("userid");

                b.HasKey("Id")
                    .HasName("pk_plantedcurrency");

                b.HasIndex("ChannelId")
                    .HasDatabaseName("ix_plantedcurrency_channelid");

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

                b.ToTable("plantedcurrency", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int?>("MusicPlaylistId")
                    .HasColumnType("integer")
                    .HasColumnName("musicplaylistid");

                b.Property<string>("Provider")
                    .HasColumnType("text")
                    .HasColumnName("provider");

                b.Property<int>("ProviderType")
                    .HasColumnType("integer")
                    .HasColumnName("providertype");

                b.Property<string>("Query")
                    .HasColumnType("text")
                    .HasColumnName("query");

                b.Property<string>("Title")
                    .HasColumnType("text")
                    .HasColumnName("title");

                b.Property<string>("Uri")
                    .HasColumnType("text")
                    .HasColumnName("uri");

                b.HasKey("Id")
                    .HasName("pk_playlistsong");

                b.HasIndex("MusicPlaylistId")
                    .HasDatabaseName("ix_playlistsong_musicplaylistid");

                b.ToTable("playlistsong", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<decimal>("AuthorId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("authorid");

                b.Property<string>("AuthorName")
                    .IsRequired()
                    .HasColumnType("text")
                    .HasColumnName("authorname");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<decimal>("GuildId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("guildid");

                b.Property<string>("Keyword")
                    .IsRequired()
                    .HasColumnType("text")
                    .HasColumnName("keyword");

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

                b.HasKey("Id")
                    .HasName("pk_quotes");

                b.HasIndex("GuildId")
                    .HasDatabaseName("ix_quotes_guildid");

                b.HasIndex("Keyword")
                    .HasDatabaseName("ix_quotes_keyword");

                b.ToTable("quotes", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<decimal>("ChannelId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("channelid");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<string>("Emote")
                    .HasMaxLength(100)
                    .HasColumnType("character varying(100)")
                    .HasColumnName("emote");

                b.Property<int>("Group")
                    .HasColumnType("integer")
                    .HasColumnName("group");

                b.Property<decimal>("GuildId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("guildid");

                b.Property<int>("LevelReq")
                    .HasColumnType("integer")
                    .HasColumnName("levelreq");

                b.Property<decimal>("MessageId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("messageid");

                b.Property<decimal>("RoleId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("roleid");

                b.HasKey("Id")
                    .HasName("pk_reactionroles");

                b.HasIndex("GuildId")
                    .HasDatabaseName("ix_reactionroles_guildid");

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

                b.ToTable("reactionroles", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<decimal>("ChannelId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("channelid");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<bool>("IsPrivate")
                    .HasColumnType("boolean")
                    .HasColumnName("isprivate");

                b.Property<string>("Message")
                    .HasColumnType("text")
                    .HasColumnName("message");

                b.Property<decimal>("ServerId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("serverid");

                b.Property<int>("Type")
                    .HasColumnType("integer")
                    .HasColumnName("type");

                b.Property<decimal>("UserId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("userid");

                b.Property<DateTime>("When")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("when");

                b.HasKey("Id")
                    .HasName("pk_reminders");

                b.HasIndex("When")
                    .HasDatabaseName("ix_reminders_when");

                b.ToTable("reminders", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<decimal>("ChannelId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("channelid");

                b.Property<DateTime>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<decimal>("GuildId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("guildid");

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

                b.Property<decimal?>("LastMessageId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("lastmessageid");

                b.Property<string>("Message")
                    .HasColumnType("text")
                    .HasColumnName("message");

                b.Property<bool>("NoRedundant")
                    .HasColumnType("boolean")
                    .HasColumnName("noredundant");

                b.Property<TimeSpan?>("StartTimeOfDay")
                    .HasColumnType("interval")
                    .HasColumnName("starttimeofday");

                b.HasKey("Id")
                    .HasName("pk_repeaters");

                b.ToTable("repeaters", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<long>("AmountRewardedThisMonth")
                    .HasColumnType("bigint")
                    .HasColumnName("amountrewardedthismonth");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<DateTime>("LastReward")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("lastreward");

                b.Property<string>("PlatformUserId")
                    .HasColumnType("text")
                    .HasColumnName("platformuserid");

                b.Property<decimal>("UserId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("userid");

                b.HasKey("Id")
                    .HasName("pk_rewardedusers");

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

                b.ToTable("rewardedusers", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<string>("Status")
                    .HasColumnType("text")
                    .HasColumnName("status");

                b.Property<int>("Type")
                    .HasColumnType("integer")
                    .HasColumnName("type");

                b.HasKey("Id")
                    .HasName("pk_rotatingstatus");

                b.ToTable("rotatingstatus", (string)null);
            });

            modelBuilder.Entity("EllieBot.Db.Models.SelfAssignedRole", b =>
            {
                b.Property<int>("Id")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("integer")
                    .HasColumnName("id");

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int>("Group")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("integer")
                    .HasDefaultValue(0)
                    .HasColumnName("group");

                b.Property<decimal>("GuildId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("guildid");

                b.Property<int>("LevelRequirement")
                    .HasColumnType("integer")
                    .HasColumnName("levelrequirement");

                b.Property<decimal>("RoleId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("roleid");

                b.HasKey("Id")
                    .HasName("pk_selfassignableroles");

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

                b.ToTable("selfassignableroles", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<decimal>("AuthorId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("authorid");

                b.Property<string>("Command")
                    .HasColumnType("text")
                    .HasColumnName("command");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int?>("GuildConfigId")
                    .HasColumnType("integer")
                    .HasColumnName("guildconfigid");

                b.Property<int>("Index")
                    .HasColumnType("integer")
                    .HasColumnName("index");

                b.Property<string>("Name")
                    .HasColumnType("text")
                    .HasColumnName("name");

                b.Property<int>("Price")
                    .HasColumnType("integer")
                    .HasColumnName("price");

                b.Property<decimal>("RoleId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("roleid");

                b.Property<string>("RoleName")
                    .HasColumnType("text")
                    .HasColumnName("rolename");

                b.Property<decimal?>("RoleRequirement")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("rolerequirement");

                b.Property<int>("Type")
                    .HasColumnType("integer")
                    .HasColumnName("type");

                b.HasKey("Id")
                    .HasName("pk_shopentry");

                b.HasIndex("GuildConfigId")
                    .HasDatabaseName("ix_shopentry_guildconfigid");

                b.ToTable("shopentry", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int?>("ShopEntryId")
                    .HasColumnType("integer")
                    .HasColumnName("shopentryid");

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

                b.HasKey("Id")
                    .HasName("pk_shopentryitem");

                b.HasIndex("ShopEntryId")
                    .HasDatabaseName("ix_shopentryitem_shopentryid");

                b.ToTable("shopentryitem", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int?>("GuildConfigId")
                    .HasColumnType("integer")
                    .HasColumnName("guildconfigid");

                b.Property<decimal>("RoleId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("roleid");

                b.HasKey("Id")
                    .HasName("pk_slowmodeignoredrole");

                b.HasIndex("GuildConfigId")
                    .HasDatabaseName("ix_slowmodeignoredrole_guildconfigid");

                b.ToTable("slowmodeignoredrole", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int?>("GuildConfigId")
                    .HasColumnType("integer")
                    .HasColumnName("guildconfigid");

                b.Property<decimal>("UserId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("userid");

                b.HasKey("Id")
                    .HasName("pk_slowmodeignoreduser");

                b.HasIndex("GuildConfigId")
                    .HasDatabaseName("ix_slowmodeignoreduser_guildconfigid");

                b.ToTable("slowmodeignoreduser", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<decimal>("GuildId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("guildid");

                b.Property<string>("RoleIds")
                    .HasColumnType("text")
                    .HasColumnName("roleids");

                b.Property<decimal>("UserId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("userid");

                b.HasKey("Id")
                    .HasName("pk_stickyroles");

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

                b.ToTable("stickyroles", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<decimal>("ChannelId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("channelid");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<decimal>("MessageId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("messageid");

                b.Property<string>("Name")
                    .HasColumnType("text")
                    .HasColumnName("name");

                b.Property<int>("Type")
                    .HasColumnType("integer")
                    .HasColumnName("type");

                b.HasKey("Id")
                    .HasName("pk_streamonlinemessages");

                b.ToTable("streamonlinemessages", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int>("StreamRoleSettingsId")
                    .HasColumnType("integer")
                    .HasColumnName("streamrolesettingsid");

                b.Property<decimal>("UserId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("userid");

                b.Property<string>("Username")
                    .HasColumnType("text")
                    .HasColumnName("username");

                b.HasKey("Id")
                    .HasName("pk_streamroleblacklisteduser");

                b.HasIndex("StreamRoleSettingsId")
                    .HasDatabaseName("ix_streamroleblacklisteduser_streamrolesettingsid");

                b.ToTable("streamroleblacklisteduser", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<decimal>("AddRoleId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("addroleid");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<bool>("Enabled")
                    .HasColumnType("boolean")
                    .HasColumnName("enabled");

                b.Property<decimal>("FromRoleId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("fromroleid");

                b.Property<int>("GuildConfigId")
                    .HasColumnType("integer")
                    .HasColumnName("guildconfigid");

                b.Property<string>("Keyword")
                    .HasColumnType("text")
                    .HasColumnName("keyword");

                b.HasKey("Id")
                    .HasName("pk_streamrolesettings");

                b.HasIndex("GuildConfigId")
                    .IsUnique()
                    .HasDatabaseName("ix_streamrolesettings_guildconfigid");

                b.ToTable("streamrolesettings", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int>("StreamRoleSettingsId")
                    .HasColumnType("integer")
                    .HasColumnName("streamrolesettingsid");

                b.Property<decimal>("UserId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("userid");

                b.Property<string>("Username")
                    .HasColumnType("text")
                    .HasColumnName("username");

                b.HasKey("Id")
                    .HasName("pk_streamrolewhitelisteduser");

                b.HasIndex("StreamRoleSettingsId")
                    .HasDatabaseName("ix_streamrolewhitelisteduser_streamrolesettingsid");

                b.ToTable("streamrolewhitelisteduser", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<int?>("ArchiveId")
                    .HasColumnType("integer")
                    .HasColumnName("archiveid");

                b.Property<DateTime>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<bool>("IsDone")
                    .HasColumnType("boolean")
                    .HasColumnName("isdone");

                b.Property<string>("Todo")
                    .HasColumnType("text")
                    .HasColumnName("todo");

                b.Property<decimal>("UserId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("userid");

                b.HasKey("Id")
                    .HasName("pk_todos");

                b.HasIndex("ArchiveId")
                    .HasDatabaseName("ix_todos_archiveid");

                b.HasIndex("UserId")
                    .HasDatabaseName("ix_todos_userid");

                b.ToTable("todos", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int?>("GuildConfigId")
                    .HasColumnType("integer")
                    .HasColumnName("guildconfigid");

                b.Property<DateTime>("UnbanAt")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("unbanat");

                b.Property<decimal>("UserId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("userid");

                b.HasKey("Id")
                    .HasName("pk_unbantimer");

                b.HasIndex("GuildConfigId")
                    .HasDatabaseName("ix_unbantimer_guildconfigid");

                b.ToTable("unbantimer", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int?>("GuildConfigId")
                    .HasColumnType("integer")
                    .HasColumnName("guildconfigid");

                b.Property<DateTime>("UnmuteAt")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("unmuteat");

                b.Property<decimal>("UserId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("userid");

                b.HasKey("Id")
                    .HasName("pk_unmutetimer");

                b.HasIndex("GuildConfigId")
                    .HasDatabaseName("ix_unmutetimer_guildconfigid");

                b.ToTable("unmutetimer", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int?>("GuildConfigId")
                    .HasColumnType("integer")
                    .HasColumnName("guildconfigid");

                b.Property<decimal>("RoleId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("roleid");

                b.Property<DateTime>("UnbanAt")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("unbanat");

                b.Property<decimal>("UserId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("userid");

                b.HasKey("Id")
                    .HasName("pk_unroletimer");

                b.HasIndex("GuildConfigId")
                    .HasDatabaseName("ix_unroletimer_guildconfigid");

                b.ToTable("unroletimer", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<long>("AwardedXp")
                    .HasColumnType("bigint")
                    .HasColumnName("awardedxp");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<decimal>("GuildId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("guildid");

                b.Property<int>("NotifyOnLevelUp")
                    .HasColumnType("integer")
                    .HasColumnName("notifyonlevelup");

                b.Property<decimal>("UserId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("userid");

                b.Property<long>("Xp")
                    .HasColumnType("bigint")
                    .HasColumnName("xp");

                b.HasKey("Id")
                    .HasName("pk_userxpstats");

                b.HasIndex("AwardedXp")
                    .HasDatabaseName("ix_userxpstats_awardedxp");

                b.HasIndex("GuildId")
                    .HasDatabaseName("ix_userxpstats_guildid");

                b.HasIndex("UserId")
                    .HasDatabaseName("ix_userxpstats_userid");

                b.HasIndex("Xp")
                    .HasDatabaseName("ix_userxpstats_xp");

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

                b.ToTable("userxpstats", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int?>("GuildConfigId")
                    .HasColumnType("integer")
                    .HasColumnName("guildconfigid");

                b.Property<decimal>("RoleId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("roleid");

                b.Property<decimal>("VoiceChannelId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("voicechannelid");

                b.HasKey("Id")
                    .HasName("pk_vcroleinfo");

                b.HasIndex("GuildConfigId")
                    .HasDatabaseName("ix_vcroleinfo_guildconfigid");

                b.ToTable("vcroleinfo", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<int?>("AffinityId")
                    .HasColumnType("integer")
                    .HasColumnName("affinityid");

                b.Property<int?>("ClaimerId")
                    .HasColumnType("integer")
                    .HasColumnName("claimerid");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<long>("Price")
                    .HasColumnType("bigint")
                    .HasColumnName("price");

                b.Property<int>("WaifuId")
                    .HasColumnType("integer")
                    .HasColumnName("waifuid");

                b.HasKey("Id")
                    .HasName("pk_waifuinfo");

                b.HasIndex("AffinityId")
                    .HasDatabaseName("ix_waifuinfo_affinityid");

                b.HasIndex("ClaimerId")
                    .HasDatabaseName("ix_waifuinfo_claimerid");

                b.HasIndex("Price")
                    .HasDatabaseName("ix_waifuinfo_price");

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

                b.ToTable("waifuinfo", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<string>("ItemEmoji")
                    .HasColumnType("text")
                    .HasColumnName("itememoji");

                b.Property<string>("Name")
                    .HasColumnType("text")
                    .HasColumnName("name");

                b.Property<int?>("WaifuInfoId")
                    .HasColumnType("integer")
                    .HasColumnName("waifuinfoid");

                b.HasKey("Id")
                    .HasName("pk_waifuitem");

                b.HasIndex("WaifuInfoId")
                    .HasDatabaseName("ix_waifuitem_waifuinfoid");

                b.ToTable("waifuitem", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int?>("NewId")
                    .HasColumnType("integer")
                    .HasColumnName("newid");

                b.Property<int?>("OldId")
                    .HasColumnType("integer")
                    .HasColumnName("oldid");

                b.Property<int>("UpdateType")
                    .HasColumnType("integer")
                    .HasColumnName("updatetype");

                b.Property<int>("UserId")
                    .HasColumnType("integer")
                    .HasColumnName("userid");

                b.HasKey("Id")
                    .HasName("pk_waifuupdates");

                b.HasIndex("NewId")
                    .HasDatabaseName("ix_waifuupdates_newid");

                b.HasIndex("OldId")
                    .HasDatabaseName("ix_waifuupdates_oldid");

                b.HasIndex("UserId")
                    .HasDatabaseName("ix_waifuupdates_userid");

                b.ToTable("waifuupdates", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<bool>("Forgiven")
                    .HasColumnType("boolean")
                    .HasColumnName("forgiven");

                b.Property<string>("ForgivenBy")
                    .HasColumnType("text")
                    .HasColumnName("forgivenby");

                b.Property<decimal>("GuildId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("guildid");

                b.Property<string>("Moderator")
                    .HasColumnType("text")
                    .HasColumnName("moderator");

                b.Property<string>("Reason")
                    .HasColumnType("text")
                    .HasColumnName("reason");

                b.Property<decimal>("UserId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("userid");

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

                b.HasKey("Id")
                    .HasName("pk_warnings");

                b.HasIndex("DateAdded")
                    .HasDatabaseName("ix_warnings_dateadded");

                b.HasIndex("GuildId")
                    .HasDatabaseName("ix_warnings_guildid");

                b.HasIndex("UserId")
                    .HasDatabaseName("ix_warnings_userid");

                b.ToTable("warnings", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<int>("Count")
                    .HasColumnType("integer")
                    .HasColumnName("count");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<decimal>("GuildId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("guildid");

                b.Property<int>("Punishment")
                    .HasColumnType("integer")
                    .HasColumnName("punishment");

                b.Property<decimal?>("RoleId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("roleid");

                b.Property<int>("Time")
                    .HasColumnType("integer")
                    .HasColumnName("time");

                b.HasKey("Id")
                    .HasName("pk_warningpunishment");

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

                b.ToTable("warningpunishment", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<int>("Amount")
                    .HasColumnType("integer")
                    .HasColumnName("amount");

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int>("Level")
                    .HasColumnType("integer")
                    .HasColumnName("level");

                b.Property<int>("XpSettingsId")
                    .HasColumnType("integer")
                    .HasColumnName("xpsettingsid");

                b.HasKey("Id")
                    .HasName("pk_xpcurrencyreward");

                b.HasIndex("XpSettingsId")
                    .HasDatabaseName("ix_xpcurrencyreward_xpsettingsid");

                b.ToTable("xpcurrencyreward", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int>("Level")
                    .HasColumnType("integer")
                    .HasColumnName("level");

                b.Property<bool>("Remove")
                    .HasColumnType("boolean")
                    .HasColumnName("remove");

                b.Property<decimal>("RoleId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("roleid");

                b.Property<int>("XpSettingsId")
                    .HasColumnType("integer")
                    .HasColumnName("xpsettingsid");

                b.HasKey("Id")
                    .HasName("pk_xprolereward");

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

                b.ToTable("xprolereward", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<int>("GuildConfigId")
                    .HasColumnType("integer")
                    .HasColumnName("guildconfigid");

                b.Property<bool>("ServerExcluded")
                    .HasColumnType("boolean")
                    .HasColumnName("serverexcluded");

                b.HasKey("Id")
                    .HasName("pk_xpsettings");

                b.HasIndex("GuildConfigId")
                    .IsUnique()
                    .HasDatabaseName("ix_xpsettings_guildconfigid");

                b.ToTable("xpsettings", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<DateTime?>("DateAdded")
                    .HasColumnType("timestamp without time zone")
                    .HasColumnName("dateadded");

                b.Property<bool>("IsUsing")
                    .HasColumnType("boolean")
                    .HasColumnName("isusing");

                b.Property<string>("ItemKey")
                    .IsRequired()
                    .HasColumnType("text")
                    .HasColumnName("itemkey");

                b.Property<int>("ItemType")
                    .HasColumnType("integer")
                    .HasColumnName("itemtype");

                b.Property<decimal>("UserId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("userid");

                b.HasKey("Id")
                    .HasName("pk_xpshopowneditem");

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

                b.ToTable("xpshopowneditem", (string)null);
            });

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

                NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                b.Property<int>("AutoDeleteTimer")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("integer")
                    .HasDefaultValue(0)
                    .HasColumnName("autodeletetimer");

                b.Property<decimal?>("ChannelId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("channelid");

                b.Property<int>("GreetType")
                    .HasColumnType("integer")
                    .HasColumnName("greettype");

                b.Property<decimal>("GuildId")
                    .HasColumnType("numeric(20,0)")
                    .HasColumnName("guildid");

                b.Property<bool>("IsEnabled")
                    .ValueGeneratedOnAdd()
                    .HasColumnType("boolean")
                    .HasDefaultValue(false)
                    .HasColumnName("isenabled");

                b.Property<string>("MessageText")
                    .HasColumnType("text")
                    .HasColumnName("messagetext");

                b.HasKey("Id")
                    .HasName("pk_greetsettings");

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

                b.ToTable("greetsettings", (string)null);
            });

            modelBuilder.Entity("EllieBot.Db.Models.AntiAltSetting", b =>
            {
                b.HasOne("EllieBot.Db.Models.GuildConfig", null)
                    .WithOne("AntiAltSetting")
                    .HasForeignKey("EllieBot.Db.Models.AntiAltSetting", "GuildConfigId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .IsRequired()
                    .HasConstraintName("fk_antialtsetting_guildconfigs_guildconfigid");
            });

            modelBuilder.Entity("EllieBot.Db.Models.AntiRaidSetting", b =>
            {
                b.HasOne("EllieBot.Db.Models.GuildConfig", null)
                    .WithOne("AntiRaidSetting")
                    .HasForeignKey("EllieBot.Db.Models.AntiRaidSetting", "GuildConfigId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .IsRequired()
                    .HasConstraintName("fk_antiraidsetting_guildconfigs_guildconfigid");
            });

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

            modelBuilder.Entity("EllieBot.Db.Models.AntiSpamSetting", b =>
            {
                b.HasOne("EllieBot.Db.Models.GuildConfig", null)
                    .WithOne("AntiSpamSetting")
                    .HasForeignKey("EllieBot.Db.Models.AntiSpamSetting", "GuildConfigId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .IsRequired()
                    .HasConstraintName("fk_antispamsetting_guildconfigs_guildconfigid");
            });

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

                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()
                    .HasConstraintName("fk_clubapplicants_clubs_clubid");

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

                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()
                    .HasConstraintName("fk_clubbans_clubs_clubid");

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

                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)
                    .HasConstraintName("fk_clubs_discorduser_ownerid");

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

            modelBuilder.Entity("EllieBot.Db.Models.CommandAlias", b =>
            {
                b.HasOne("EllieBot.Db.Models.GuildConfig", null)
                    .WithMany("CommandAliases")
                    .HasForeignKey("GuildConfigId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .HasConstraintName("fk_commandalias_guildconfigs_guildconfigid");
            });

            modelBuilder.Entity("EllieBot.Db.Models.CommandCooldown", b =>
            {
                b.HasOne("EllieBot.Db.Models.GuildConfig", null)
                    .WithMany("CommandCooldowns")
                    .HasForeignKey("GuildConfigId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .HasConstraintName("fk_commandcooldown_guildconfigs_guildconfigid");
            });

            modelBuilder.Entity("EllieBot.Db.Models.DelMsgOnCmdChannel", b =>
            {
                b.HasOne("EllieBot.Db.Models.GuildConfig", null)
                    .WithMany("DelMsgOnCmdChannels")
                    .HasForeignKey("GuildConfigId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .IsRequired()
                    .HasConstraintName("fk_delmsgoncmdchannel_guildconfigs_guildconfigid");
            });

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

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

            modelBuilder.Entity("EllieBot.Db.Models.ExcludedItem", b =>
            {
                b.HasOne("EllieBot.Db.Models.XpSettings", "XpSettings")
                    .WithMany("ExclusionList")
                    .HasForeignKey("XpSettingsId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .HasConstraintName("fk_excludeditem_xpsettings_xpsettingsid");

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

            modelBuilder.Entity("EllieBot.Db.Models.FeedSub", b =>
            {
                b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig")
                    .WithMany("FeedSubs")
                    .HasForeignKey("GuildConfigId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .IsRequired()
                    .HasConstraintName("fk_feedsub_guildconfigs_guildconfigid");

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

            modelBuilder.Entity("EllieBot.Db.Models.FilterChannelId", b =>
            {
                b.HasOne("EllieBot.Db.Models.GuildConfig", null)
                    .WithMany("FilterInvitesChannelIds")
                    .HasForeignKey("GuildConfigId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .HasConstraintName("fk_filterchannelid_guildconfigs_guildconfigid");
            });

            modelBuilder.Entity("EllieBot.Db.Models.FilterLinksChannelId", b =>
            {
                b.HasOne("EllieBot.Db.Models.GuildConfig", null)
                    .WithMany("FilterLinksChannelIds")
                    .HasForeignKey("GuildConfigId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .HasConstraintName("fk_filterlinkschannelid_guildconfigs_guildconfigid");
            });

            modelBuilder.Entity("EllieBot.Db.Models.FilterWordsChannelId", b =>
            {
                b.HasOne("EllieBot.Db.Models.GuildConfig", null)
                    .WithMany("FilterWordsChannelIds")
                    .HasForeignKey("GuildConfigId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .HasConstraintName("fk_filterwordschannelid_guildconfigs_guildconfigid");
            });

            modelBuilder.Entity("EllieBot.Db.Models.FilteredWord", b =>
            {
                b.HasOne("EllieBot.Db.Models.GuildConfig", null)
                    .WithMany("FilteredWords")
                    .HasForeignKey("GuildConfigId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .HasConstraintName("fk_filteredword_guildconfigs_guildconfigid");
            });

            modelBuilder.Entity("EllieBot.Db.Models.FollowedStream", b =>
            {
                b.HasOne("EllieBot.Db.Models.GuildConfig", null)
                    .WithMany("FollowedStreams")
                    .HasForeignKey("GuildConfigId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .HasConstraintName("fk_followedstream_guildconfigs_guildconfigid");
            });

            modelBuilder.Entity("EllieBot.Db.Models.GCChannelId", b =>
            {
                b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig")
                    .WithMany("GenerateCurrencyChannelIds")
                    .HasForeignKey("GuildConfigId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .HasConstraintName("fk_gcchannelid_guildconfigs_guildconfigid");

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

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

            modelBuilder.Entity("EllieBot.Db.Models.GroupName", b =>
            {
                b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig")
                    .WithMany("SelfAssignableRoleGroupNames")
                    .HasForeignKey("GuildConfigId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .IsRequired()
                    .HasConstraintName("fk_groupname_guildconfigs_guildconfigid");

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

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

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

            modelBuilder.Entity("EllieBot.Db.Models.MutedUserId", b =>
            {
                b.HasOne("EllieBot.Db.Models.GuildConfig", null)
                    .WithMany("MutedUsers")
                    .HasForeignKey("GuildConfigId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .HasConstraintName("fk_muteduserid_guildconfigs_guildconfigid");
            });

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

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

            modelBuilder.Entity("EllieBot.Db.Models.ShopEntry", b =>
            {
                b.HasOne("EllieBot.Db.Models.GuildConfig", null)
                    .WithMany("ShopEntries")
                    .HasForeignKey("GuildConfigId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .HasConstraintName("fk_shopentry_guildconfigs_guildconfigid");
            });

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

            modelBuilder.Entity("EllieBot.Db.Models.SlowmodeIgnoredRole", b =>
            {
                b.HasOne("EllieBot.Db.Models.GuildConfig", null)
                    .WithMany("SlowmodeIgnoredRoles")
                    .HasForeignKey("GuildConfigId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .HasConstraintName("fk_slowmodeignoredrole_guildconfigs_guildconfigid");
            });

            modelBuilder.Entity("EllieBot.Db.Models.SlowmodeIgnoredUser", b =>
            {
                b.HasOne("EllieBot.Db.Models.GuildConfig", null)
                    .WithMany("SlowmodeIgnoredUsers")
                    .HasForeignKey("GuildConfigId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .HasConstraintName("fk_slowmodeignoreduser_guildconfigs_guildconfigid");
            });

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

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

            modelBuilder.Entity("EllieBot.Db.Models.StreamRoleSettings", b =>
            {
                b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig")
                    .WithOne("StreamRole")
                    .HasForeignKey("EllieBot.Db.Models.StreamRoleSettings", "GuildConfigId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .IsRequired()
                    .HasConstraintName("fk_streamrolesettings_guildconfigs_guildconfigid");

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

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

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

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

            modelBuilder.Entity("EllieBot.Db.Models.UnbanTimer", b =>
            {
                b.HasOne("EllieBot.Db.Models.GuildConfig", null)
                    .WithMany("UnbanTimer")
                    .HasForeignKey("GuildConfigId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .HasConstraintName("fk_unbantimer_guildconfigs_guildconfigid");
            });

            modelBuilder.Entity("EllieBot.Db.Models.UnmuteTimer", b =>
            {
                b.HasOne("EllieBot.Db.Models.GuildConfig", null)
                    .WithMany("UnmuteTimers")
                    .HasForeignKey("GuildConfigId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .HasConstraintName("fk_unmutetimer_guildconfigs_guildconfigid");
            });

            modelBuilder.Entity("EllieBot.Db.Models.UnroleTimer", b =>
            {
                b.HasOne("EllieBot.Db.Models.GuildConfig", null)
                    .WithMany("UnroleTimer")
                    .HasForeignKey("GuildConfigId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .HasConstraintName("fk_unroletimer_guildconfigs_guildconfigid");
            });

            modelBuilder.Entity("EllieBot.Db.Models.VcRoleInfo", b =>
            {
                b.HasOne("EllieBot.Db.Models.GuildConfig", null)
                    .WithMany("VcRoleInfos")
                    .HasForeignKey("GuildConfigId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .HasConstraintName("fk_vcroleinfo_guildconfigs_guildconfigid");
            });

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

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

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

                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")
                    .HasConstraintName("fk_waifuitem_waifuinfo_waifuinfoid");

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

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

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

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

                b.Navigation("New");

                b.Navigation("Old");

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

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

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

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

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

            modelBuilder.Entity("EllieBot.Db.Models.XpSettings", b =>
            {
                b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig")
                    .WithOne("XpSettings")
                    .HasForeignKey("EllieBot.Db.Models.XpSettings", "GuildConfigId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .IsRequired()
                    .HasConstraintName("fk_xpsettings_guildconfigs_guildconfigid");

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

            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("AntiAltSetting");

                b.Navigation("AntiRaidSetting");

                b.Navigation("AntiSpamSetting");

                b.Navigation("CommandAliases");

                b.Navigation("CommandCooldowns");

                b.Navigation("DelMsgOnCmdChannels");

                b.Navigation("FeedSubs");

                b.Navigation("FilterInvitesChannelIds");

                b.Navigation("FilterLinksChannelIds");

                b.Navigation("FilterWordsChannelIds");

                b.Navigation("FilteredWords");

                b.Navigation("FollowedStreams");

                b.Navigation("GenerateCurrencyChannelIds");

                b.Navigation("MutedUsers");

                b.Navigation("Permissions");

                b.Navigation("SelfAssignableRoleGroupNames");

                b.Navigation("ShopEntries");

                b.Navigation("SlowmodeIgnoredRoles");

                b.Navigation("SlowmodeIgnoredUsers");

                b.Navigation("StreamRole");

                b.Navigation("UnbanTimer");

                b.Navigation("UnmuteTimers");

                b.Navigation("UnroleTimer");

                b.Navigation("VcRoleInfos");

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

            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.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("ExclusionList");

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