Inital postgresql implementation (#46)

This commit is contained in:
Jeremy "EndenDragon" Zhang 2017-09-04 23:54:54 -07:00 committed by GitHub
parent 3a503c9bcb
commit aa9075f484
11 changed files with 54 additions and 54 deletions

View File

@ -84,7 +84,7 @@ class Titan(discord.Client):
) )
try: try:
await self.database.connect(config["database-uri"] + "?charset=utf8mb4") await self.database.connect(config["database-uri"])
self.database_connected = True self.database_connected = True
except Exception: except Exception:
self.logger.error("Unable to connect to specified database!") self.logger.error("Unable to connect to specified database!")

View File

@ -11,10 +11,10 @@ class Guilds(Base):
chat_links = db.Column(db.Boolean()) # If users can post links chat_links = db.Column(db.Boolean()) # If users can post links
bracket_links = db.Column(db.Boolean()) # If appending brackets to links to prevent embed bracket_links = db.Column(db.Boolean()) # If appending brackets to links to prevent embed
mentions_limit = db.Column(db.Integer) # If there is a limit on the number of mentions in a msg mentions_limit = db.Column(db.Integer) # If there is a limit on the number of mentions in a msg
roles = db.Column(db.Text(length=4294967295)) # Guild Roles roles = db.Column(db.Text().with_variant(db.Text(length=4294967295), 'mysql')) # Guild Roles
channels = db.Column(db.Text(length=4294967295))# Guild channels channels = db.Column(db.Text().with_variant(db.Text(length=4294967295), 'mysql'))# Guild channels
webhooks = db.Column(db.Text(length=4294967295))# Guild webhooks webhooks = db.Column(db.Text().with_variant(db.Text(length=4294967295), 'mysql'))# Guild webhooks
emojis = db.Column(db.Text(length=4294967295)) # Guild Emojis emojis = db.Column(db.Text().with_variant(db.Text(length=4294967295), 'mysql')) # Guild Emojis
owner_id = db.Column(db.String(255)) # Snowflake of the owner owner_id = db.Column(db.String(255)) # Snowflake of the owner
icon = db.Column(db.String(255)) # The icon string, null if none icon = db.Column(db.String(255)) # The icon string, null if none
discordio = db.Column(db.String(255)) # Custom Discord.io Invite Link discordio = db.Column(db.String(255)) # Custom Discord.io Invite Link

View File

@ -55,7 +55,7 @@ def upgrade():
existing_server_default=sa.text(u"'1'")) existing_server_default=sa.text(u"'1'"))
op.alter_column(u'guilds', 'channels', op.alter_column(u'guilds', 'channels',
existing_type=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'), existing_type=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'),
type_=sa.Text(length=4294967295), type_=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
existing_nullable=False) existing_nullable=False)
op.alter_column(u'guilds', 'chat_links', op.alter_column(u'guilds', 'chat_links',
existing_type=mysql.TINYINT(display_width=1), existing_type=mysql.TINYINT(display_width=1),
@ -64,11 +64,11 @@ def upgrade():
existing_server_default=sa.text(u"'1'")) existing_server_default=sa.text(u"'1'"))
op.alter_column(u'guilds', 'emojis', op.alter_column(u'guilds', 'emojis',
existing_type=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'), existing_type=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'),
type_=sa.Text(length=4294967295), type_=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
existing_nullable=False) existing_nullable=False)
op.alter_column(u'guilds', 'roles', op.alter_column(u'guilds', 'roles',
existing_type=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'), existing_type=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'),
type_=sa.Text(length=4294967295), type_=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
existing_nullable=False) existing_nullable=False)
op.alter_column(u'guilds', 'unauth_users', op.alter_column(u'guilds', 'unauth_users',
existing_type=mysql.TINYINT(display_width=1), existing_type=mysql.TINYINT(display_width=1),
@ -81,7 +81,7 @@ def upgrade():
existing_nullable=False) existing_nullable=False)
op.alter_column(u'guilds', 'webhooks', op.alter_column(u'guilds', 'webhooks',
existing_type=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'), existing_type=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'),
type_=sa.Text(length=4294967295), type_=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
existing_nullable=False) existing_nullable=False)
op.alter_column(u'unauthenticated_users', 'revoked', op.alter_column(u'unauthenticated_users', 'revoked',
existing_type=mysql.TINYINT(display_width=1), existing_type=mysql.TINYINT(display_width=1),
@ -90,7 +90,7 @@ def upgrade():
existing_server_default=sa.text(u"'0'")) existing_server_default=sa.text(u"'0'"))
op.alter_column(u'user_css', 'css', op.alter_column(u'user_css', 'css',
existing_type=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'), existing_type=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'),
type_=sa.Text(length=4294967295), type_=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
existing_nullable=True) existing_nullable=True)
# ### end Alembic commands ### # ### end Alembic commands ###
@ -98,7 +98,7 @@ def upgrade():
def downgrade(): def downgrade():
# ### commands auto generated by Alembic - please adjust! ### # ### commands auto generated by Alembic - please adjust! ###
op.alter_column(u'user_css', 'css', op.alter_column(u'user_css', 'css',
existing_type=sa.Text(length=4294967295), existing_type=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
type_=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'), type_=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'),
existing_nullable=True) existing_nullable=True)
op.alter_column(u'unauthenticated_users', 'revoked', op.alter_column(u'unauthenticated_users', 'revoked',
@ -107,7 +107,7 @@ def downgrade():
existing_nullable=False, existing_nullable=False,
existing_server_default=sa.text(u"'0'")) existing_server_default=sa.text(u"'0'"))
op.alter_column(u'guilds', 'webhooks', op.alter_column(u'guilds', 'webhooks',
existing_type=sa.Text(length=4294967295), existing_type=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
type_=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'), type_=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'),
existing_nullable=False) existing_nullable=False)
op.alter_column(u'guilds', 'visitor_view', op.alter_column(u'guilds', 'visitor_view',
@ -120,11 +120,11 @@ def downgrade():
existing_nullable=False, existing_nullable=False,
existing_server_default=sa.text(u"'1'")) existing_server_default=sa.text(u"'1'"))
op.alter_column(u'guilds', 'roles', op.alter_column(u'guilds', 'roles',
existing_type=sa.Text(length=4294967295), existing_type=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
type_=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'), type_=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'),
existing_nullable=False) existing_nullable=False)
op.alter_column(u'guilds', 'emojis', op.alter_column(u'guilds', 'emojis',
existing_type=sa.Text(length=4294967295), existing_type=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
type_=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'), type_=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'),
existing_nullable=False) existing_nullable=False)
op.alter_column(u'guilds', 'chat_links', op.alter_column(u'guilds', 'chat_links',
@ -133,7 +133,7 @@ def downgrade():
existing_nullable=False, existing_nullable=False,
existing_server_default=sa.text(u"'1'")) existing_server_default=sa.text(u"'1'"))
op.alter_column(u'guilds', 'channels', op.alter_column(u'guilds', 'channels',
existing_type=sa.Text(length=4294967295), existing_typesa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
type_=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'), type_=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'),
existing_nullable=False) existing_nullable=False)
op.alter_column(u'guilds', 'bracket_links', op.alter_column(u'guilds', 'bracket_links',

View File

@ -39,7 +39,7 @@ def upgrade():
existing_server_default=sa.text(u"'1'")) existing_server_default=sa.text(u"'1'"))
op.alter_column('guilds', 'channels', op.alter_column('guilds', 'channels',
existing_type=mysql.MEDIUMTEXT(collation=u'utf8mb4_unicode_ci'), existing_type=mysql.MEDIUMTEXT(collation=u'utf8mb4_unicode_ci'),
type_=sa.Text(length=4294967295), type_=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
existing_nullable=False) existing_nullable=False)
op.alter_column('guilds', 'chat_links', op.alter_column('guilds', 'chat_links',
existing_type=mysql.TINYINT(display_width=1), existing_type=mysql.TINYINT(display_width=1),
@ -48,11 +48,11 @@ def upgrade():
existing_server_default=sa.text(u"'1'")) existing_server_default=sa.text(u"'1'"))
op.alter_column('guilds', 'emojis', op.alter_column('guilds', 'emojis',
existing_type=mysql.TEXT(collation=u'utf8mb4_unicode_ci'), existing_type=mysql.TEXT(collation=u'utf8mb4_unicode_ci'),
type_=sa.Text(length=4294967295), type_=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
existing_nullable=False) existing_nullable=False)
op.alter_column('guilds', 'roles', op.alter_column('guilds', 'roles',
existing_type=mysql.MEDIUMTEXT(collation=u'utf8mb4_unicode_ci'), existing_type=mysql.MEDIUMTEXT(collation=u'utf8mb4_unicode_ci'),
type_=sa.Text(length=4294967295), type_=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
existing_nullable=False) existing_nullable=False)
op.alter_column('guilds', 'unauth_users', op.alter_column('guilds', 'unauth_users',
existing_type=mysql.TINYINT(display_width=1), existing_type=mysql.TINYINT(display_width=1),
@ -65,7 +65,7 @@ def upgrade():
existing_nullable=False) existing_nullable=False)
op.alter_column('guilds', 'webhooks', op.alter_column('guilds', 'webhooks',
existing_type=mysql.TEXT(collation=u'utf8mb4_unicode_ci'), existing_type=mysql.TEXT(collation=u'utf8mb4_unicode_ci'),
type_=sa.Text(length=4294967295), type_=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
existing_nullable=False) existing_nullable=False)
op.alter_column('unauthenticated_users', 'revoked', op.alter_column('unauthenticated_users', 'revoked',
existing_type=mysql.TINYINT(display_width=1), existing_type=mysql.TINYINT(display_width=1),
@ -74,7 +74,7 @@ def upgrade():
existing_server_default=sa.text(u"'0'")) existing_server_default=sa.text(u"'0'"))
op.alter_column('user_css', 'css', op.alter_column('user_css', 'css',
existing_type=mysql.MEDIUMTEXT(collation=u'utf8mb4_unicode_ci'), existing_type=mysql.MEDIUMTEXT(collation=u'utf8mb4_unicode_ci'),
type_=sa.Text(length=4294967295), type_=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
existing_nullable=True) existing_nullable=True)
# ### end Alembic commands ### # ### end Alembic commands ###
@ -82,7 +82,7 @@ def upgrade():
def downgrade(): def downgrade():
# ### commands auto generated by Alembic - please adjust! ### # ### commands auto generated by Alembic - please adjust! ###
op.alter_column('user_css', 'css', op.alter_column('user_css', 'css',
existing_type=sa.Text(length=4294967295), existing_type=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
type_=mysql.MEDIUMTEXT(collation=u'utf8mb4_unicode_ci'), type_=mysql.MEDIUMTEXT(collation=u'utf8mb4_unicode_ci'),
existing_nullable=True) existing_nullable=True)
op.alter_column('unauthenticated_users', 'revoked', op.alter_column('unauthenticated_users', 'revoked',
@ -91,7 +91,7 @@ def downgrade():
existing_nullable=False, existing_nullable=False,
existing_server_default=sa.text(u"'0'")) existing_server_default=sa.text(u"'0'"))
op.alter_column('guilds', 'webhooks', op.alter_column('guilds', 'webhooks',
existing_type=sa.Text(length=4294967295), existing_type=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
type_=mysql.TEXT(collation=u'utf8mb4_unicode_ci'), type_=mysql.TEXT(collation=u'utf8mb4_unicode_ci'),
existing_nullable=False) existing_nullable=False)
op.alter_column('guilds', 'visitor_view', op.alter_column('guilds', 'visitor_view',
@ -104,11 +104,11 @@ def downgrade():
existing_nullable=False, existing_nullable=False,
existing_server_default=sa.text(u"'1'")) existing_server_default=sa.text(u"'1'"))
op.alter_column('guilds', 'roles', op.alter_column('guilds', 'roles',
existing_type=sa.Text(length=4294967295), existing_type=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
type_=mysql.MEDIUMTEXT(collation=u'utf8mb4_unicode_ci'), type_=mysql.MEDIUMTEXT(collation=u'utf8mb4_unicode_ci'),
existing_nullable=False) existing_nullable=False)
op.alter_column('guilds', 'emojis', op.alter_column('guilds', 'emojis',
existing_type=sa.Text(length=4294967295), existing_type=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
type_=mysql.TEXT(collation=u'utf8mb4_unicode_ci'), type_=mysql.TEXT(collation=u'utf8mb4_unicode_ci'),
existing_nullable=False) existing_nullable=False)
op.alter_column('guilds', 'chat_links', op.alter_column('guilds', 'chat_links',
@ -117,7 +117,7 @@ def downgrade():
existing_nullable=False, existing_nullable=False,
existing_server_default=sa.text(u"'1'")) existing_server_default=sa.text(u"'1'"))
op.alter_column('guilds', 'channels', op.alter_column('guilds', 'channels',
existing_type=sa.Text(length=4294967295), existing_type=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
type_=mysql.MEDIUMTEXT(collation=u'utf8mb4_unicode_ci'), type_=mysql.MEDIUMTEXT(collation=u'utf8mb4_unicode_ci'),
existing_nullable=False) existing_nullable=False)
op.alter_column('guilds', 'bracket_links', op.alter_column('guilds', 'bracket_links',

View File

@ -44,7 +44,7 @@ def upgrade():
existing_server_default=sa.text(u"'1'")) existing_server_default=sa.text(u"'1'"))
op.alter_column(u'guilds', 'channels', op.alter_column(u'guilds', 'channels',
existing_type=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'), existing_type=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'),
type_=sa.Text(length=4294967295), type_=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
existing_nullable=False) existing_nullable=False)
op.alter_column(u'guilds', 'chat_links', op.alter_column(u'guilds', 'chat_links',
existing_type=mysql.TINYINT(display_width=1), existing_type=mysql.TINYINT(display_width=1),
@ -53,11 +53,11 @@ def upgrade():
existing_server_default=sa.text(u"'1'")) existing_server_default=sa.text(u"'1'"))
op.alter_column(u'guilds', 'emojis', op.alter_column(u'guilds', 'emojis',
existing_type=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'), existing_type=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'),
type_=sa.Text(length=4294967295), type_=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
existing_nullable=False) existing_nullable=False)
op.alter_column(u'guilds', 'roles', op.alter_column(u'guilds', 'roles',
existing_type=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'), existing_type=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'),
type_=sa.Text(length=4294967295), type_=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
existing_nullable=False) existing_nullable=False)
op.alter_column(u'guilds', 'unauth_users', op.alter_column(u'guilds', 'unauth_users',
existing_type=mysql.TINYINT(display_width=1), existing_type=mysql.TINYINT(display_width=1),
@ -70,7 +70,7 @@ def upgrade():
existing_nullable=False) existing_nullable=False)
op.alter_column(u'guilds', 'webhooks', op.alter_column(u'guilds', 'webhooks',
existing_type=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'), existing_type=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'),
type_=sa.Text(length=4294967295), type_=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
existing_nullable=False) existing_nullable=False)
op.alter_column(u'unauthenticated_users', 'revoked', op.alter_column(u'unauthenticated_users', 'revoked',
existing_type=mysql.TINYINT(display_width=1), existing_type=mysql.TINYINT(display_width=1),
@ -79,7 +79,7 @@ def upgrade():
existing_server_default=sa.text(u"'0'")) existing_server_default=sa.text(u"'0'"))
op.alter_column(u'user_css', 'css', op.alter_column(u'user_css', 'css',
existing_type=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'), existing_type=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'),
type_=sa.Text(length=4294967295), type_=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
existing_nullable=True) existing_nullable=True)
# ### end Alembic commands ### # ### end Alembic commands ###
@ -87,7 +87,7 @@ def upgrade():
def downgrade(): def downgrade():
# ### commands auto generated by Alembic - please adjust! ### # ### commands auto generated by Alembic - please adjust! ###
op.alter_column(u'user_css', 'css', op.alter_column(u'user_css', 'css',
existing_type=sa.Text(length=4294967295), existing_type=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
type_=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'), type_=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'),
existing_nullable=True) existing_nullable=True)
op.alter_column(u'unauthenticated_users', 'revoked', op.alter_column(u'unauthenticated_users', 'revoked',
@ -96,7 +96,7 @@ def downgrade():
existing_nullable=False, existing_nullable=False,
existing_server_default=sa.text(u"'0'")) existing_server_default=sa.text(u"'0'"))
op.alter_column(u'guilds', 'webhooks', op.alter_column(u'guilds', 'webhooks',
existing_type=sa.Text(length=4294967295), existing_type=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
type_=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'), type_=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'),
existing_nullable=False) existing_nullable=False)
op.alter_column(u'guilds', 'visitor_view', op.alter_column(u'guilds', 'visitor_view',
@ -109,11 +109,11 @@ def downgrade():
existing_nullable=False, existing_nullable=False,
existing_server_default=sa.text(u"'1'")) existing_server_default=sa.text(u"'1'"))
op.alter_column(u'guilds', 'roles', op.alter_column(u'guilds', 'roles',
existing_type=sa.Text(length=4294967295), existing_type=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
type_=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'), type_=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'),
existing_nullable=False) existing_nullable=False)
op.alter_column(u'guilds', 'emojis', op.alter_column(u'guilds', 'emojis',
existing_type=sa.Text(length=4294967295), existing_type=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
type_=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'), type_=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'),
existing_nullable=False) existing_nullable=False)
op.alter_column(u'guilds', 'chat_links', op.alter_column(u'guilds', 'chat_links',
@ -122,7 +122,7 @@ def downgrade():
existing_nullable=False, existing_nullable=False,
existing_server_default=sa.text(u"'1'")) existing_server_default=sa.text(u"'1'"))
op.alter_column(u'guilds', 'channels', op.alter_column(u'guilds', 'channels',
existing_type=sa.Text(length=4294967295), existing_type=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
type_=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'), type_=mysql.LONGTEXT(collation=u'utf8mb4_unicode_ci'),
existing_nullable=False) existing_nullable=False)
op.alter_column(u'guilds', 'bracket_links', op.alter_column(u'guilds', 'bracket_links',

View File

@ -40,7 +40,7 @@ def upgrade():
existing_server_default=sa.text("'1'")) existing_server_default=sa.text("'1'"))
op.alter_column('guilds', 'channels', op.alter_column('guilds', 'channels',
existing_type=mysql.LONGTEXT(collation='utf8mb4_unicode_ci'), existing_type=mysql.LONGTEXT(collation='utf8mb4_unicode_ci'),
type_=sa.Text(length=4294967295), type_=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
existing_nullable=False) existing_nullable=False)
op.alter_column('guilds', 'chat_links', op.alter_column('guilds', 'chat_links',
existing_type=mysql.TINYINT(display_width=1), existing_type=mysql.TINYINT(display_width=1),
@ -49,11 +49,11 @@ def upgrade():
existing_server_default=sa.text("'1'")) existing_server_default=sa.text("'1'"))
op.alter_column('guilds', 'emojis', op.alter_column('guilds', 'emojis',
existing_type=mysql.LONGTEXT(collation='utf8mb4_unicode_ci'), existing_type=mysql.LONGTEXT(collation='utf8mb4_unicode_ci'),
type_=sa.Text(length=4294967295), type_=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
existing_nullable=False) existing_nullable=False)
op.alter_column('guilds', 'roles', op.alter_column('guilds', 'roles',
existing_type=mysql.LONGTEXT(collation='utf8mb4_unicode_ci'), existing_type=mysql.LONGTEXT(collation='utf8mb4_unicode_ci'),
type_=sa.Text(length=4294967295), type_=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
existing_nullable=False) existing_nullable=False)
op.alter_column('guilds', 'unauth_users', op.alter_column('guilds', 'unauth_users',
existing_type=mysql.TINYINT(display_width=1), existing_type=mysql.TINYINT(display_width=1),
@ -66,7 +66,7 @@ def upgrade():
existing_nullable=False) existing_nullable=False)
op.alter_column('guilds', 'webhooks', op.alter_column('guilds', 'webhooks',
existing_type=mysql.LONGTEXT(collation='utf8mb4_unicode_ci'), existing_type=mysql.LONGTEXT(collation='utf8mb4_unicode_ci'),
type_=sa.Text(length=4294967295), type_=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
existing_nullable=False) existing_nullable=False)
op.alter_column('unauthenticated_users', 'revoked', op.alter_column('unauthenticated_users', 'revoked',
existing_type=mysql.TINYINT(display_width=1), existing_type=mysql.TINYINT(display_width=1),
@ -75,7 +75,7 @@ def upgrade():
existing_server_default=sa.text("'0'")) existing_server_default=sa.text("'0'"))
op.alter_column('user_css', 'css', op.alter_column('user_css', 'css',
existing_type=mysql.LONGTEXT(collation='utf8mb4_unicode_ci'), existing_type=mysql.LONGTEXT(collation='utf8mb4_unicode_ci'),
type_=sa.Text(length=4294967295), type_=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
existing_nullable=True) existing_nullable=True)
# ### end Alembic commands ### # ### end Alembic commands ###
@ -83,7 +83,7 @@ def upgrade():
def downgrade(): def downgrade():
# ### commands auto generated by Alembic - please adjust! ### # ### commands auto generated by Alembic - please adjust! ###
op.alter_column('user_css', 'css', op.alter_column('user_css', 'css',
existing_type=sa.Text(length=4294967295), existing_type=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
type_=mysql.LONGTEXT(collation='utf8mb4_unicode_ci'), type_=mysql.LONGTEXT(collation='utf8mb4_unicode_ci'),
existing_nullable=True) existing_nullable=True)
op.alter_column('unauthenticated_users', 'revoked', op.alter_column('unauthenticated_users', 'revoked',
@ -92,7 +92,7 @@ def downgrade():
existing_nullable=False, existing_nullable=False,
existing_server_default=sa.text("'0'")) existing_server_default=sa.text("'0'"))
op.alter_column('guilds', 'webhooks', op.alter_column('guilds', 'webhooks',
existing_type=sa.Text(length=4294967295), existing_type=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
type_=mysql.LONGTEXT(collation='utf8mb4_unicode_ci'), type_=mysql.LONGTEXT(collation='utf8mb4_unicode_ci'),
existing_nullable=False) existing_nullable=False)
op.alter_column('guilds', 'visitor_view', op.alter_column('guilds', 'visitor_view',
@ -105,11 +105,11 @@ def downgrade():
existing_nullable=False, existing_nullable=False,
existing_server_default=sa.text("'1'")) existing_server_default=sa.text("'1'"))
op.alter_column('guilds', 'roles', op.alter_column('guilds', 'roles',
existing_type=sa.Text(length=4294967295), existing_type=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
type_=mysql.LONGTEXT(collation='utf8mb4_unicode_ci'), type_=mysql.LONGTEXT(collation='utf8mb4_unicode_ci'),
existing_nullable=False) existing_nullable=False)
op.alter_column('guilds', 'emojis', op.alter_column('guilds', 'emojis',
existing_type=sa.Text(length=4294967295), existing_type=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
type_=mysql.LONGTEXT(collation='utf8mb4_unicode_ci'), type_=mysql.LONGTEXT(collation='utf8mb4_unicode_ci'),
existing_nullable=False) existing_nullable=False)
op.alter_column('guilds', 'chat_links', op.alter_column('guilds', 'chat_links',
@ -118,7 +118,7 @@ def downgrade():
existing_nullable=False, existing_nullable=False,
existing_server_default=sa.text("'1'")) existing_server_default=sa.text("'1'"))
op.alter_column('guilds', 'channels', op.alter_column('guilds', 'channels',
existing_type=sa.Text(length=4294967295), existing_type=sa.Text().with_variant(sa.Text(length=4294967295), 'mysql'),
type_=mysql.LONGTEXT(collation='utf8mb4_unicode_ci'), type_=mysql.LONGTEXT(collation='utf8mb4_unicode_ci'),
existing_nullable=False) existing_nullable=False)
op.alter_column('guilds', 'bracket_links', op.alter_column('guilds', 'bracket_links',

View File

@ -21,7 +21,7 @@ except:
os.chdir(config['app-location']) os.chdir(config['app-location'])
app = Flask(__name__, static_folder="static") app = Flask(__name__, static_folder="static")
app.config['SQLALCHEMY_DATABASE_URI'] = config['database-uri'] + "?charset=utf8mb4" app.config['SQLALCHEMY_DATABASE_URI'] = config['database-uri']
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False # Suppress the warning/no need this on for now. app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False # Suppress the warning/no need this on for now.
app.config['RATELIMIT_HEADERS_ENABLED'] = True app.config['RATELIMIT_HEADERS_ENABLED'] = True
app.config['SQLALCHEMY_POOL_RECYCLE'] = 250 app.config['SQLALCHEMY_POOL_RECYCLE'] = 250

View File

@ -231,7 +231,7 @@ def add_bot(guild_id):
def prepare_guild_members_list(members, bans): def prepare_guild_members_list(members, bans):
all_users = [] all_users = []
ip_pool = [] ip_pool = []
members = sorted(members, key=lambda k: datetime.datetime.strptime(str(k.last_timestamp), "%Y-%m-%d %H:%M:%S"), reverse=True) members = sorted(members, key=lambda k: datetime.datetime.strptime(str(k.last_timestamp.replace(tzinfo=None)), "%Y-%m-%d %H:%M:%S"), reverse=True)
for member in members: for member in members:
user = { user = {
"id": member.id, "id": member.id,

View File

@ -11,10 +11,10 @@ class Guilds(db.Model):
chat_links = db.Column(db.Boolean(), nullable=False, default=1) # If users can post links chat_links = db.Column(db.Boolean(), nullable=False, default=1) # If users can post links
bracket_links = db.Column(db.Boolean(), nullable=False, default=1) # If appending brackets to links to prevent embed bracket_links = db.Column(db.Boolean(), nullable=False, default=1) # If appending brackets to links to prevent embed
mentions_limit = db.Column(db.Integer, nullable=False, default=11) # If there is a limit on the number of mentions in a msg mentions_limit = db.Column(db.Integer, nullable=False, default=11) # If there is a limit on the number of mentions in a msg
roles = db.Column(db.Text(4294967295), nullable=False) # Guild Roles roles = db.Column(db.Text().with_variant(db.Text(4294967295), 'mysql'), nullable=False) # Guild Roles
channels = db.Column(db.Text(4294967295), nullable=False) # Guild channels channels = db.Column(db.Text().with_variant(db.Text(4294967295), 'mysql'), nullable=False) # Guild channels
webhooks = db.Column(db.Text(4294967295), nullable=False) # Guild webhooks webhooks = db.Column(db.Text().with_variant(db.Text(4294967295), 'mysql'), nullable=False) # Guild webhooks
emojis = db.Column(db.Text(4294967295), nullable=False) # Guild Emojis emojis = db.Column(db.Text().with_variant(db.Text(4294967295), 'mysql'), nullable=False) # Guild Emojis
owner_id = db.Column(db.String(255), nullable=False) # Snowflake of the owner owner_id = db.Column(db.String(255), nullable=False) # Snowflake of the owner
icon = db.Column(db.String(255)) # The icon string, null if none icon = db.Column(db.String(255)) # The icon string, null if none
discordio = db.Column(db.String(255)) # Custom Discord.io Invite Link discordio = db.Column(db.String(255)) # Custom Discord.io Invite Link

View File

@ -20,14 +20,14 @@ def set_keyvalproperty(key, value, expiration=None):
def get_keyvalproperty(key): def get_keyvalproperty(key):
q = db.session.query(KeyValueProperties).filter(KeyValueProperties.key == key) q = db.session.query(KeyValueProperties).filter(KeyValueProperties.key == key)
now = datetime.now() now = datetime.now()
if q.count() > 0 and (q.first().expiration is None or q.first().expiration > now): if q.count() > 0 and (q.first().expiration is None or q.first().expiration.replace(tzinfo=None) > now):
return q.first().value return q.first().value
return None return None
def getexpir_keyvalproperty(key): def getexpir_keyvalproperty(key):
q = db.session.query(KeyValueProperties).filter(KeyValueProperties.key == key) q = db.session.query(KeyValueProperties).filter(KeyValueProperties.key == key)
now = datetime.now() now = datetime.now()
if q.count() > 0 and (q.first().expiration is not None and q.first().expiration > now): if q.count() > 0 and (q.first().expiration is not None and q.first().expiration.replace(tzinfo=None) > now):
return int(q.first().expiration.strftime('%s')) return int(q.first().expiration.strftime('%s'))
return 0 return 0

View File

@ -5,7 +5,7 @@ class UserCSS(db.Model):
id = db.Column(db.Integer, primary_key=True) # Auto increment id id = db.Column(db.Integer, primary_key=True) # Auto increment id
name = db.Column(db.String(255), nullable=False) # CSS Name name = db.Column(db.String(255), nullable=False) # CSS Name
user_id = db.Column(db.String(255), nullable=False) # Discord client ID of the owner of the css (can edit) user_id = db.Column(db.String(255), nullable=False) # Discord client ID of the owner of the css (can edit)
css = db.Column(db.Text(4294967295)) # CSS contents css = db.Column(db.Text().with_variant(db.Text(4294967295), 'mysql')) # CSS contents
def __init__(self, name, user_id, css=None): def __init__(self, name, user_id, css=None):
self.name = name self.name = name