def setup_db(session, botconfig, confdir):
    """Sets up the database."""
    Base.metadata.create_all(session.connection())
    # If we're creating a fresh db, we don't need to worry about migrations.
    if not session.get_bind().has_table('alembic_version'):
        conf_obj = config.Config()
        conf_obj.set_main_option('bot_config_path', confdir)
        with resources.path('cslbot', botconfig['alembic']['script_location']) as script_location:
            conf_obj.set_main_option('script_location', str(script_location))
            command.stamp(conf_obj, 'head')

    # Populate permissions table with owner.
    owner_nick = botconfig['auth']['owner']
    if not session.query(Permissions).filter(Permissions.nick == owner_nick).count():
        session.add(Permissions(nick=owner_nick, role='owner'))
def setup_db ( session , botconfig , confdir ) : Base . metadata . create_all ( session . connection ( ) ) if not session . get_bind ( ) . has_table ( 'alembic_version' ) : conf_obj = config . Config ( ) conf_obj . set_main_option ( 'bot_config_path' , confdir ) with resources . path ( 'cslbot' , botconfig [ 'alembic' ] [ 'script_location' ] ) as script_location : conf_obj . set_main_option ( 'script_location' , str ( script_location ) ) command . stamp ( conf_obj , 'head' ) owner_nick = botconfig [ 'auth' ] [ 'owner' ] if not session . query ( Permissions ) . filter ( Permissions . nick == owner_nick ) . count ( ) : session . add ( Permissions ( nick = owner_nick , role = 'owner' ) )
Sets up the database.