//
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using EllieBot.Services.Database;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace EllieBot.Migrations.PostgreSql
{
[DbContext(typeof(PostgreSqlContext))]
[Migration("20220727033944_linkonly-channels")]
partial class linkonlychannels
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "6.0.7")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("EllieBot.Db.Models.BankUser", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("Balance")
.HasColumnType("bigint")
.HasColumnName("balance");
b.Property("DateAdded")
.HasColumnType("timestamp with time zone")
.HasColumnName("dateadded");
b.Property("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.ClubApplicants", b =>
{
b.Property("ClubId")
.HasColumnType("integer")
.HasColumnName("clubid");
b.Property("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("ClubId")
.HasColumnType("integer")
.HasColumnName("clubid");
b.Property("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("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("DateAdded")
.HasColumnType("timestamp with time zone")
.HasColumnName("dateadded");
b.Property("Description")
.HasColumnType("text")
.HasColumnName("description");
b.Property("ImageUrl")
.HasColumnType("text")
.HasColumnName("imageurl");
b.Property("Name")
.IsRequired()
.HasMaxLength(20)
.HasColumnType("character varying(20)")
.HasColumnName("name");
b.Property("OwnerId")
.HasColumnType("integer")
.HasColumnName("ownerid");
b.Property("Xp")
.HasColumnType("integer")
.HasColumnName("xp");
b.HasKey("Id")
.HasName("pk_clubs");
b.HasAlternateKey("Name")
.HasName("ak_clubs_name");
b.HasIndex("OwnerId")
.IsUnique()
.HasDatabaseName("ix_clubs_ownerid");
b.ToTable("clubs", (string)null);
});
modelBuilder.Entity("EllieBot.Db.Models.DiscordUser", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("AvatarId")
.HasColumnType("text")
.HasColumnName("avatarid");
b.Property("ClubId")
.HasColumnType("integer")
.HasColumnName("clubid");
b.Property("CurrencyAmount")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasDefaultValue(0L)
.HasColumnName("currencyamount");
b.Property("DateAdded")
.HasColumnType("timestamp with time zone")
.HasColumnName("dateadded");
b.Property("Discriminator")
.HasColumnType("text")
.HasColumnName("discriminator");
b.Property("IsClubAdmin")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("isclubadmin");
b.Property("LastLevelUp")
.ValueGeneratedOnAdd()
.HasColumnType("timestamp with time zone")
.HasColumnName("lastlevelup")
.HasDefaultValueSql("timezone('utc', now())");
b.Property("LastXpGain")
.ValueGeneratedOnAdd()
.HasColumnType("timestamp with time zone")
.HasColumnName("lastxpgain")
.HasDefaultValueSql("timezone('utc', now()) - interval '-1 year'");
b.Property("NotifyOnLevelUp")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasDefaultValue(0)
.HasColumnName("notifyonlevelup");
b.Property("TotalXp")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasDefaultValue(0L)
.HasColumnName("totalxp");
b.Property("UserId")
.HasColumnType("numeric(20,0)")
.HasColumnName("userid");
b.Property("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.ToTable("discorduser", (string)null);
});
modelBuilder.Entity("EllieBot.Db.Models.FollowedStream", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("ChannelId")
.HasColumnType("numeric(20,0)")
.HasColumnName("channelid");
b.Property("DateAdded")
.HasColumnType("timestamp with time zone")
.HasColumnName("dateadded");
b.Property("GuildConfigId")
.HasColumnType("integer")
.HasColumnName("guildconfigid");
b.Property("GuildId")
.HasColumnType("numeric(20,0)")
.HasColumnName("guildid");
b.Property("Message")
.HasColumnType("text")
.HasColumnName("message");
b.Property("Type")
.HasColumnType("integer")
.HasColumnName("type");
b.Property("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.PatronQuota", b =>
{
b.Property("UserId")
.HasColumnType("numeric(20,0)")
.HasColumnName("userid");
b.Property("FeatureType")
.HasColumnType("integer")
.HasColumnName("featuretype");
b.Property("Feature")
.HasColumnType("text")
.HasColumnName("feature");
b.Property("DailyCount")
.HasColumnType("bigint")
.HasColumnName("dailycount");
b.Property("HourlyCount")
.HasColumnType("bigint")
.HasColumnName("hourlycount");
b.Property("MonthlyCount")
.HasColumnType("bigint")
.HasColumnName("monthlycount");
b.HasKey("UserId", "FeatureType", "Feature")
.HasName("pk_patronquotas");
b.HasIndex("UserId")
.HasDatabaseName("ix_patronquotas_userid");
b.ToTable("patronquotas", (string)null);
});
modelBuilder.Entity("EllieBot.Db.Models.PatronUser", b =>
{
b.Property("UserId")
.ValueGeneratedOnAdd()
.HasColumnType("numeric(20,0)")
.HasColumnName("userid");
b.Property("AmountCents")
.HasColumnType("integer")
.HasColumnName("amountcents");
b.Property("LastCharge")
.HasColumnType("timestamp with time zone")
.HasColumnName("lastcharge");
b.Property("UniquePlatformUserId")
.HasColumnType("text")
.HasColumnName("uniqueplatformuserid");
b.Property("ValidThru")
.HasColumnType("timestamp with 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.StreamOnlineMessage", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("ChannelId")
.HasColumnType("numeric(20,0)")
.HasColumnName("channelid");
b.Property("DateAdded")
.HasColumnType("timestamp with time zone")
.HasColumnName("dateadded");
b.Property("MessageId")
.HasColumnType("numeric(20,0)")
.HasColumnName("messageid");
b.Property("Name")
.HasColumnType("text")
.HasColumnName("name");
b.Property("Type")
.HasColumnType("integer")
.HasColumnName("type");
b.HasKey("Id")
.HasName("pk_streamonlinemessages");
b.ToTable("streamonlinemessages", (string)null);
});
modelBuilder.Entity("EllieBot.Db.Models.XpShopOwnedItem", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("DateAdded")
.HasColumnType("timestamp with time zone")
.HasColumnName("dateadded");
b.Property("IsUsing")
.HasColumnType("boolean")
.HasColumnName("isusing");
b.Property("ItemKey")
.IsRequired()
.HasColumnType("text")
.HasColumnName("itemkey");
b.Property("ItemType")
.HasColumnType("integer")
.HasColumnName("itemtype");
b.Property("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.Database.Models.AntiAltSetting", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("Action")
.HasColumnType("integer")
.HasColumnName("action");
b.Property("ActionDurationMinutes")
.HasColumnType("integer")
.HasColumnName("actiondurationminutes");
b.Property("GuildConfigId")
.HasColumnType("integer")
.HasColumnName("guildconfigid");
b.Property("MinAge")
.HasColumnType("interval")
.HasColumnName("minage");
b.Property("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.Services.Database.Models.AntiRaidSetting", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("Action")
.HasColumnType("integer")
.HasColumnName("action");
b.Property("DateAdded")
.HasColumnType("timestamp with time zone")
.HasColumnName("dateadded");
b.Property("GuildConfigId")
.HasColumnType("integer")
.HasColumnName("guildconfigid");
b.Property("PunishDuration")
.HasColumnType("integer")
.HasColumnName("punishduration");
b.Property("Seconds")
.HasColumnType("integer")
.HasColumnName("seconds");
b.Property("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.Services.Database.Models.AntiSpamIgnore", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("AntiSpamSettingId")
.HasColumnType("integer")
.HasColumnName("antispamsettingid");
b.Property("ChannelId")
.HasColumnType("numeric(20,0)")
.HasColumnName("channelid");
b.Property("DateAdded")
.HasColumnType("timestamp with 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.Services.Database.Models.AntiSpamSetting", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("Action")
.HasColumnType("integer")
.HasColumnName("action");
b.Property("DateAdded")
.HasColumnType("timestamp with time zone")
.HasColumnName("dateadded");
b.Property("GuildConfigId")
.HasColumnType("integer")
.HasColumnName("guildconfigid");
b.Property("MessageThreshold")
.HasColumnType("integer")
.HasColumnName("messagethreshold");
b.Property("MuteTime")
.HasColumnType("integer")
.HasColumnName("mutetime");
b.Property("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.Services.Database.Models.AutoCommand", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("ChannelId")
.HasColumnType("numeric(20,0)")
.HasColumnName("channelid");
b.Property("ChannelName")
.HasColumnType("text")
.HasColumnName("channelname");
b.Property("CommandText")
.HasColumnType("text")
.HasColumnName("commandtext");
b.Property("DateAdded")
.HasColumnType("timestamp with time zone")
.HasColumnName("dateadded");
b.Property("GuildId")
.HasColumnType("numeric(20,0)")
.HasColumnName("guildid");
b.Property("GuildName")
.HasColumnType("text")
.HasColumnName("guildname");
b.Property("Interval")
.HasColumnType("integer")
.HasColumnName("interval");
b.Property("VoiceChannelId")
.HasColumnType("numeric(20,0)")
.HasColumnName("voicechannelid");
b.Property("VoiceChannelName")
.HasColumnType("text")
.HasColumnName("voicechannelname");
b.HasKey("Id")
.HasName("pk_autocommands");
b.ToTable("autocommands", (string)null);
});
modelBuilder.Entity("EllieBot.Services.Database.Models.AutoTranslateChannel", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("AutoDelete")
.HasColumnType("boolean")
.HasColumnName("autodelete");
b.Property("ChannelId")
.HasColumnType("numeric(20,0)")
.HasColumnName("channelid");
b.Property("DateAdded")
.HasColumnType("timestamp with time zone")
.HasColumnName("dateadded");
b.Property("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.Services.Database.Models.AutoTranslateUser", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("ChannelId")
.HasColumnType("integer")
.HasColumnName("channelid");
b.Property("DateAdded")
.HasColumnType("timestamp with time zone")
.HasColumnName("dateadded");
b.Property("Source")
.HasColumnType("text")
.HasColumnName("source");
b.Property("Target")
.HasColumnType("text")
.HasColumnName("target");
b.Property("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.Services.Database.Models.BanTemplate", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("DateAdded")
.HasColumnType("timestamp with time zone")
.HasColumnName("dateadded");
b.Property("GuildId")
.HasColumnType("numeric(20,0)")
.HasColumnName("guildid");
b.Property("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.Services.Database.Models.BlacklistEntry", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("DateAdded")
.HasColumnType("timestamp with time zone")
.HasColumnName("dateadded");
b.Property("ItemId")
.HasColumnType("numeric(20,0)")
.HasColumnName("itemid");
b.Property("Type")
.HasColumnType("integer")
.HasColumnName("type");
b.HasKey("Id")
.HasName("pk_blacklist");
b.ToTable("blacklist", (string)null);
});
modelBuilder.Entity("EllieBot.Services.Database.Models.CommandAlias", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("DateAdded")
.HasColumnType("timestamp with time zone")
.HasColumnName("dateadded");
b.Property("GuildConfigId")
.HasColumnType("integer")
.HasColumnName("guildconfigid");
b.Property("Mapping")
.HasColumnType("text")
.HasColumnName("mapping");
b.Property("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.Services.Database.Models.CommandCooldown", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("CommandName")
.HasColumnType("text")
.HasColumnName("commandname");
b.Property("DateAdded")
.HasColumnType("timestamp with time zone")
.HasColumnName("dateadded");
b.Property("GuildConfigId")
.HasColumnType("integer")
.HasColumnName("guildconfigid");
b.Property("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.Services.Database.Models.CurrencyTransaction", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("Amount")
.HasColumnType("bigint")
.HasColumnName("amount");
b.Property("DateAdded")
.HasColumnType("timestamp with time zone")
.HasColumnName("dateadded");
b.Property("Extra")
.IsRequired()
.HasColumnType("text")
.HasColumnName("extra");
b.Property("Note")
.HasColumnType("text")
.HasColumnName("note");
b.Property("OtherId")
.ValueGeneratedOnAdd()
.HasColumnType("numeric(20,0)")
.HasColumnName("otherid")
.HasDefaultValueSql("NULL");
b.Property("Type")
.IsRequired()
.HasColumnType("text")
.HasColumnName("type");
b.Property("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.Services.Database.Models.DelMsgOnCmdChannel", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("ChannelId")
.HasColumnType("numeric(20,0)")
.HasColumnName("channelid");
b.Property("DateAdded")
.HasColumnType("timestamp with time zone")
.HasColumnName("dateadded");
b.Property("GuildConfigId")
.HasColumnType("integer")
.HasColumnName("guildconfigid");
b.Property("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.Services.Database.Models.DiscordPermOverride", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("Command")
.HasColumnType("text")
.HasColumnName("command");
b.Property("DateAdded")
.HasColumnType("timestamp with time zone")
.HasColumnName("dateadded");
b.Property("GuildId")
.HasColumnType("numeric(20,0)")
.HasColumnName("guildid");
b.Property("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.Services.Database.Models.ExcludedItem", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("DateAdded")
.HasColumnType("timestamp with time zone")
.HasColumnName("dateadded");
b.Property("ItemId")
.HasColumnType("numeric(20,0)")
.HasColumnName("itemid");
b.Property("ItemType")
.HasColumnType("integer")
.HasColumnName("itemtype");
b.Property("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.Services.Database.Models.FeedSub", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("ChannelId")
.HasColumnType("numeric(20,0)")
.HasColumnName("channelid");
b.Property("DateAdded")
.HasColumnType("timestamp with time zone")
.HasColumnName("dateadded");
b.Property("GuildConfigId")
.HasColumnType("integer")
.HasColumnName("guildconfigid");
b.Property("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.Services.Database.Models.FilterChannelId", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("ChannelId")
.HasColumnType("numeric(20,0)")
.HasColumnName("channelid");
b.Property("DateAdded")
.HasColumnType("timestamp with time zone")
.HasColumnName("dateadded");
b.Property("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.Services.Database.Models.FilteredWord", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("DateAdded")
.HasColumnType("timestamp with time zone")
.HasColumnName("dateadded");
b.Property("GuildConfigId")
.HasColumnType("integer")
.HasColumnName("guildconfigid");
b.Property("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.Services.Database.Models.FilterLinksChannelId", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("ChannelId")
.HasColumnType("numeric(20,0)")
.HasColumnName("channelid");
b.Property("DateAdded")
.HasColumnType("timestamp with time zone")
.HasColumnName("dateadded");
b.Property("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.Services.Database.Models.FilterWordsChannelId", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("ChannelId")
.HasColumnType("numeric(20,0)")
.HasColumnName("channelid");
b.Property("DateAdded")
.HasColumnType("timestamp with time zone")
.HasColumnName("dateadded");
b.Property("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.Services.Database.Models.GCChannelId", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("ChannelId")
.HasColumnType("numeric(20,0)")
.HasColumnName("channelid");
b.Property("DateAdded")
.HasColumnType("timestamp with time zone")
.HasColumnName("dateadded");
b.Property("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.Services.Database.Models.GroupName", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("DateAdded")
.HasColumnType("timestamp with time zone")
.HasColumnName("dateadded");
b.Property("GuildConfigId")
.HasColumnType("integer")
.HasColumnName("guildconfigid");
b.Property("Name")
.HasColumnType("text")
.HasColumnName("name");
b.Property("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.Services.Database.Models.GuildConfig", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("AutoAssignRoleIds")
.HasColumnType("text")
.HasColumnName("autoassignroleids");
b.Property("AutoDeleteByeMessagesTimer")
.HasColumnType("integer")
.HasColumnName("autodeletebyemessagestimer");
b.Property("AutoDeleteGreetMessagesTimer")
.HasColumnType("integer")
.HasColumnName("autodeletegreetmessagestimer");
b.Property("AutoDeleteSelfAssignedRoleMessages")
.HasColumnType("boolean")
.HasColumnName("autodeleteselfassignedrolemessages");
b.Property("BoostMessage")
.HasColumnType("text")
.HasColumnName("boostmessage");
b.Property("BoostMessageChannelId")
.HasColumnType("numeric(20,0)")
.HasColumnName("boostmessagechannelid");
b.Property("BoostMessageDeleteAfter")
.HasColumnType("integer")
.HasColumnName("boostmessagedeleteafter");
b.Property("ByeMessageChannelId")
.HasColumnType("numeric(20,0)")
.HasColumnName("byemessagechannelid");
b.Property("ChannelByeMessageText")
.HasColumnType("text")
.HasColumnName("channelbyemessagetext");
b.Property("ChannelGreetMessageText")
.HasColumnType("text")
.HasColumnName("channelgreetmessagetext");
b.Property("CleverbotEnabled")
.HasColumnType("boolean")
.HasColumnName("cleverbotenabled");
b.Property("DateAdded")
.HasColumnType("timestamp with time zone")
.HasColumnName("dateadded");
b.Property("DeleteMessageOnCommand")
.HasColumnType("boolean")
.HasColumnName("deletemessageoncommand");
b.Property("DeleteStreamOnlineMessage")
.HasColumnType("boolean")
.HasColumnName("deletestreamonlinemessage");
b.Property("DmGreetMessageText")
.HasColumnType("text")
.HasColumnName("dmgreetmessagetext");
b.Property("ExclusiveSelfAssignedRoles")
.HasColumnType("boolean")
.HasColumnName("exclusiveselfassignedroles");
b.Property("FilterInvites")
.HasColumnType("boolean")
.HasColumnName("filterinvites");
b.Property("FilterLinks")
.HasColumnType("boolean")
.HasColumnName("filterlinks");
b.Property("FilterWords")
.HasColumnType("boolean")
.HasColumnName("filterwords");
b.Property("GameVoiceChannel")
.HasColumnType("numeric(20,0)")
.HasColumnName("gamevoicechannel");
b.Property("GreetMessageChannelId")
.HasColumnType("numeric(20,0)")
.HasColumnName("greetmessagechannelid");
b.Property("GuildId")
.HasColumnType("numeric(20,0)")
.HasColumnName("guildid");
b.Property("Locale")
.HasColumnType("text")
.HasColumnName("locale");
b.Property("MuteRoleName")
.HasColumnType("text")
.HasColumnName("muterolename");
b.Property("NotifyStreamOffline")
.HasColumnType("boolean")
.HasColumnName("notifystreamoffline");
b.Property("PermissionRole")
.HasColumnType("text")
.HasColumnName("permissionrole");
b.Property("Prefix")
.HasColumnType("text")
.HasColumnName("prefix");
b.Property("SendBoostMessage")
.HasColumnType("boolean")
.HasColumnName("sendboostmessage");
b.Property("SendChannelByeMessage")
.HasColumnType("boolean")
.HasColumnName("sendchannelbyemessage");
b.Property("SendChannelGreetMessage")
.HasColumnType("boolean")
.HasColumnName("sendchannelgreetmessage");
b.Property("SendDmGreetMessage")
.HasColumnType("boolean")
.HasColumnName("senddmgreetmessage");
b.Property("TimeZoneId")
.HasColumnType("text")
.HasColumnName("timezoneid");
b.Property("VerboseErrors")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(true)
.HasColumnName("verboseerrors");
b.Property("VerbosePermissions")
.HasColumnType("boolean")
.HasColumnName("verbosepermissions");
b.Property("WarnExpireAction")
.HasColumnType("integer")
.HasColumnName("warnexpireaction");
b.Property("WarnExpireHours")
.HasColumnType("integer")
.HasColumnName("warnexpirehours");
b.Property("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.Services.Database.Models.IgnoredLogItem", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("DateAdded")
.HasColumnType("timestamp with time zone")
.HasColumnName("dateadded");
b.Property("ItemType")
.HasColumnType("integer")
.HasColumnName("itemtype");
b.Property("LogItemId")
.HasColumnType("numeric(20,0)")
.HasColumnName("logitemid");
b.Property("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.Services.Database.Models.IgnoredVoicePresenceChannel", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("ChannelId")
.HasColumnType("numeric(20,0)")
.HasColumnName("channelid");
b.Property("DateAdded")
.HasColumnType("timestamp with time zone")
.HasColumnName("dateadded");
b.Property("LogSettingId")
.HasColumnType("integer")
.HasColumnName("logsettingid");
b.HasKey("Id")
.HasName("pk_ignoredvoicepresencechannels");
b.HasIndex("LogSettingId")
.HasDatabaseName("ix_ignoredvoicepresencechannels_logsettingid");
b.ToTable("ignoredvoicepresencechannels", (string)null);
});
modelBuilder.Entity("EllieBot.Services.Database.Models.ImageOnlyChannel", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property