download and install as described, but the application installation fails:
pip install panoramix # Done well.
fabmanager create-admin --app panoramix # THIS COMMAND FAILS
Log result:
sqlalchemy.exc.CircularDependencyError: Circular dependency detected. Cycles: set([Table('tables', MetaData(bind=None), Column('created_on', DateTime(), table=, nullable=False, default=ColumnDefault(<function at 0x7fde37c62b18>)), Column('changed_on', DateTime(), table=, nullable=False, onupdate=ColumnDefault(<function at 0x7fde37c62c08>), default=ColumnDefault(<function at 0x7fde37c62b90>)), Column('id', Integer(), table=, primary_key=True, nullable=False), Column('table_name', String(length=255), table=), Column('main_datetime_column_id', Integer(), ForeignKey('table_columns.id'), table=), Column('default_endpoint', Text(), table=), Column('database_id', Integer(), ForeignKey('dbs.id'), table=, nullable=False), Column('changed_by_fk', Integer(), ForeignKey('ab_user.id'), table=, nullable=False, onupdate=ColumnDefault(<function at 0x7fde2f5009b0>), default=ColumnDefault(<function at 0x7fde2f500cf8>)), Column('created_by_fk', Integer(), ForeignKey('ab_user.id'), table=, nullable=False, default=ColumnDefault(<function at 0x7fde2f500d70>)), schema=None), Table('table_columns', MetaData(bind=None), Column('created_on', DateTime(), table=<table_columns>, nullable=False, default=ColumnDefault(<function at 0x7fde37c62b18>)), Column('changed_on', DateTime(), table=<table_columns>, nullable=False, onupdate=ColumnDefault(<function at 0x7fde37c62c08>), default=ColumnDefault(<function at 0x7fde37c62b90>)), Column('id', Integer(), table=<table_columns>, primary_key=True, nullable=False), Column('table_id', Integer(), ForeignKey('tables.id'), table=<table_columns>), Column('column_name', String(length=256), table=<table_columns>), Column('is_dttm', Boolean(), table=<table_columns>, default=ColumnDefault(True)), Column('is_active', Boolean(), table=<table_columns>, default=ColumnDefault(True)), Column('type', String(length=32), table=<table_columns>, default=ColumnDefault('')), Column('groupby', Boolean(), table=<table_columns>, default=ColumnDefault(False)), Column('count_distinct', Boolean(), table=<table_columns>, default=ColumnDefault(False)), Column('sum', Boolean(), table=<table_columns>, default=ColumnDefault(False)), Column('max', Boolean(), table=<table_columns>, default=ColumnDefault(False)), Column('min', Boolean(), table=<table_columns>, default=ColumnDefault(False)), Column('filterable', Boolean(), table=<table_columns>, default=ColumnDefault(False)), Column('description', Text(), table=<table_columns>, default=ColumnDefault('')), Column('changed_by_fk', Integer(), ForeignKey('ab_user.id'), table=<table_columns>, nullable=False, onupdate=ColumnDefault(<function at 0x7fde2f4aa9b0>), default=ColumnDefault(<function at 0x7fde2f4aa8c0>)), Column('created_by_fk', Integer(), ForeignKey('ab_user.id'), table=<table_columns>, nullable=False, default=ColumnDefault(<function at 0x7fde2f4aaa28>)), schema=None)]) all edges: set([(Table('ab_user', MetaData(bind=None), Column('id', Integer(), table=<ab_user>, primary_key=True, nullable=False, default=Sequence('ab_user_id_seq', metadata=MetaData(bind=None))), Column('first_name', String(length=64), table=<ab_user>, nullable=False), Column('last_name', String(length=64), table=<ab_user>, nullable=False), Column('username', String(length=64), table=<ab_user>, nullable=False), Column('password', String(length=256), table=<ab_user>), Column('active', Boolean(), table=<ab_user>), Column('email', String(length=64), table=<ab_user>, nullable=False), Column('last_login', DateTime(), table=<ab_user>), Column('login_count', Integer(), table=<ab_user>), Column('fail_login_count', Integer(), table=<ab_user>), Column('created_on', DateTime(), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c71a28>)), Column('changed_on', DateTime(), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c71ed8>)), Column('created_by_fk', Integer(), ForeignKey('ab_user.id'), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c30c08>)), Column('changed_by_fk', Integer(), ForeignKey('ab_user.id'), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c30c80>)), schema=None), Table('columns', MetaData(bind=None), Column('created_on', DateTime(), table=, nullable=False, default=ColumnDefault(<function at 0x7fde37c62b18>)), Column('changed_on', DateTime(), table=, nullable=False, onupdate=ColumnDefault(<function at 0x7fde37c62c08>), default=ColumnDefault(<function at 0x7fde37c62b90>)), Column('id', Integer(), table=, primary_key=True, nullable=False), Column('datasource_name', String(length=256), ForeignKey('datasources.datasource_name'), table=), Column('column_name', String(length=256), table=), Column('is_active', Boolean(), table=, default=ColumnDefault(True)), Column('type', String(length=32), table=), Column('groupby', Boolean(), table=, default=ColumnDefault(False)), Column('count_distinct', Boolean(), table=, default=ColumnDefault(False)), Column('sum', Boolean(), table=, default=ColumnDefault(False)), Column('max', Boolean(), table=, default=ColumnDefault(False)), Column('min', Boolean(), table=, default=ColumnDefault(False)), Column('filterable', Boolean(), table=, default=ColumnDefault(False)), Column('description', Text(), table=), Column('changed_by_fk', Integer(), ForeignKey('ab_user.id'), table=, nullable=False, onupdate=ColumnDefault(<function at 0x7fde2f484c80>), default=ColumnDefault(<function at 0x7fde2f484668>)), Column('created_by_fk', Integer(), ForeignKey('ab_user.id'), table=, nullable=False, default=ColumnDefault(<function at 0x7fde2f484cf8>)), schema=None)), (Table('ab_user', MetaData(bind=None), Column('id', Integer(), table=<ab_user>, primary_key=True, nullable=False, default=Sequence('ab_user_id_seq', metadata=MetaData(bind=None))), Column('first_name', String(length=64), table=<ab_user>, nullable=False), Column('last_name', String(length=64), table=<ab_user>, nullable=False), Column('username', String(length=64), table=<ab_user>, nullable=False), Column('password', String(length=256), table=<ab_user>), Column('active', Boolean(), table=<ab_user>), Column('email', String(length=64), table=<ab_user>, nullable=False), Column('last_login', DateTime(), table=<ab_user>), Column('login_count', Integer(), table=<ab_user>), Column('fail_login_count', Integer(), table=<ab_user>), Column('created_on', DateTime(), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c71a28>)), Column('changed_on', DateTime(), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c71ed8>)), Column('created_by_fk', Integer(), ForeignKey('ab_user.id'), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c30c08>)), Column('changed_by_fk', Integer(), ForeignKey('ab_user.id'), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c30c80>)), schema=None), Table('tables', MetaData(bind=None), Column('created_on', DateTime(), table=, nullable=False, default=ColumnDefault(<function at 0x7fde37c62b18>)), Column('changed_on', DateTime(), table=, nullable=False, onupdate=ColumnDefault(<function at 0x7fde37c62c08>), default=ColumnDefault(<function at 0x7fde37c62b90>)), Column('id', Integer(), table=, primary_key=True, nullable=False), Column('table_name', String(length=255), table=), Column('main_datetime_column_id', Integer(), ForeignKey('table_columns.id'), table=), Column('default_endpoint', Text(), table=), Column('database_id', Integer(), ForeignKey('dbs.id'), table=, nullable=False), Column('changed_by_fk', Integer(), ForeignKey('ab_user.id'), table=, nullable=False, onupdate=ColumnDefault(<function at 0x7fde2f5009b0>), default=ColumnDefault(<function at 0x7fde2f500cf8>)), Column('created_by_fk', Integer(), ForeignKey('ab_user.id'), table=, nullable=False, default=ColumnDefault(<function at 0x7fde2f500d70>)), schema=None)), (Table('datasources', MetaData(bind=None), Column('created_on', DateTime(), table=, nullable=False, default=ColumnDefault(<function at 0x7fde37c62b18>)), Column('changed_on', DateTime(), table=, nullable=False, onupdate=ColumnDefault(<function at 0x7fde37c62c08>), default=ColumnDefault(<function at 0x7fde37c62b90>)), Column('id', Integer(), table=, primary_key=True, nullable=False), Column('datasource_name', String(length=255), table=), Column('is_featured', Boolean(), table=, default=ColumnDefault(False)), Column('is_hidden', Boolean(), table=, default=ColumnDefault(False)), Column('description', Text(), table=), Column('default_endpoint', Text(), table=), Column('user_id', Integer(), ForeignKey('ab_user.id'), table=), Column('cluster_name', String(length=255), ForeignKey('clusters.cluster_name'), table=), Column('changed_by_fk', Integer(), ForeignKey('ab_user.id'), table=, nullable=False, onupdate=ColumnDefault(<function at 0x7fde2f4842a8>), default=ColumnDefault(<function at 0x7fde2f484410>)), Column('created_by_fk', Integer(), ForeignKey('ab_user.id'), table=, nullable=False, default=ColumnDefault(<function at 0x7fde2f484230>)), schema=None), Table('metrics', MetaData(bind=None), Column('id', Integer(), table=, primary_key=True, nullable=False), Column('metric_name', String(length=512), table=), Column('verbose_name', String(length=1024), table=), Column('metric_type', String(length=32), table=), Column('datasource_name', String(length=256), ForeignKey('datasources.datasource_name'), table=), Column('json', Text(), table=), Column('description', Text(), table=), schema=None)), (Table('tables', MetaData(bind=None), Column('created_on', DateTime(), table=, nullable=False, default=ColumnDefault(<function at 0x7fde37c62b18>)), Column('changed_on', DateTime(), table=, nullable=False, onupdate=ColumnDefault(<function at 0x7fde37c62c08>), default=ColumnDefault(<function at 0x7fde37c62b90>)), Column('id', Integer(), table=, primary_key=True, nullable=False), Column('table_name', String(length=255), table=), Column('main_datetime_column_id', Integer(), ForeignKey('table_columns.id'), table=), Column('default_endpoint', Text(), table=), Column('database_id', Integer(), ForeignKey('dbs.id'), table=, nullable=False), Column('changed_by_fk', Integer(), ForeignKey('ab_user.id'), table=, nullable=False, onupdate=ColumnDefault(<function at 0x7fde2f5009b0>), default=ColumnDefault(<function at 0x7fde2f500cf8>)), Column('created_by_fk', Integer(), ForeignKey('ab_user.id'), table=, nullable=False, default=ColumnDefault(<function at 0x7fde2f500d70>)), schema=None), Table('table_columns', MetaData(bind=None), Column('created_on', DateTime(), table=<table_columns>, nullable=False, default=ColumnDefault(<function at 0x7fde37c62b18>)), Column('changed_on', DateTime(), table=<table_columns>, nullable=False, onupdate=ColumnDefault(<function at 0x7fde37c62c08>), default=ColumnDefault(<function at 0x7fde37c62b90>)), Column('id', Integer(), table=<table_columns>, primary_key=True, nullable=False), Column('table_id', Integer(), ForeignKey('tables.id'), table=<table_columns>), Column('column_name', String(length=256), table=<table_columns>), Column('is_dttm', Boolean(), table=<table_columns>, default=ColumnDefault(True)), Column('is_active', Boolean(), table=<table_columns>, default=ColumnDefault(True)), Column('type', String(length=32), table=<table_columns>, default=ColumnDefault('')), Column('groupby', Boolean(), table=<table_columns>, default=ColumnDefault(False)), Column('count_distinct', Boolean(), table=<table_columns>, default=ColumnDefault(False)), Column('sum', Boolean(), table=<table_columns>, default=ColumnDefault(False)), Column('max', Boolean(), table=<table_columns>, default=ColumnDefault(False)), Column('min', Boolean(), table=<table_columns>, default=ColumnDefault(False)), Column('filterable', Boolean(), table=<table_columns>, default=ColumnDefault(False)), Column('description', Text(), table=<table_columns>, default=ColumnDefault('')), Column('changed_by_fk', Integer(), ForeignKey('ab_user.id'), table=<table_columns>, nullable=False, onupdate=ColumnDefault(<function at 0x7fde2f4aa9b0>), default=ColumnDefault(<function at 0x7fde2f4aa8c0>)), Column('created_by_fk', Integer(), ForeignKey('ab_user.id'), table=<table_columns>, nullable=False, default=ColumnDefault(<function at 0x7fde2f4aaa28>)), schema=None)), (Table('ab_user', MetaData(bind=None), Column('id', Integer(), table=<ab_user>, primary_key=True, nullable=False, default=Sequence('ab_user_id_seq', metadata=MetaData(bind=None))), Column('first_name', String(length=64), table=<ab_user>, nullable=False), Column('last_name', String(length=64), table=<ab_user>, nullable=False), Column('username', String(length=64), table=<ab_user>, nullable=False), Column('password', String(length=256), table=<ab_user>), Column('active', Boolean(), table=<ab_user>), Column('email', String(length=64), table=<ab_user>, nullable=False), Column('last_login', DateTime(), table=<ab_user>), Column('login_count', Integer(), table=<ab_user>), Column('fail_login_count', Integer(), table=<ab_user>), Column('created_on', DateTime(), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c71a28>)), Column('changed_on', DateTime(), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c71ed8>)), Column('created_by_fk', Integer(), ForeignKey('ab_user.id'), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c30c08>)), Column('changed_by_fk', Integer(), ForeignKey('ab_user.id'), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c30c80>)), schema=None), Table('sql_metrics', MetaData(bind=None), Column('created_on', DateTime(), table=<sql_metrics>, nullable=False, default=ColumnDefault(<function at 0x7fde37c62b18>)), Column('changed_on', DateTime(), table=<sql_metrics>, nullable=False, onupdate=ColumnDefault(<function at 0x7fde37c62c08>), default=ColumnDefault(<function at 0x7fde37c62b90>)), Column('id', Integer(), table=<sql_metrics>, primary_key=True, nullable=False), Column('metric_name', String(length=512), table=<sql_metrics>), Column('verbose_name', String(length=1024), table=<sql_metrics>), Column('metric_type', String(length=32), table=<sql_metrics>), Column('table_id', Integer(), ForeignKey('tables.id'), table=<sql_metrics>), Column('expression', Text(), table=<sql_metrics>), Column('description', Text(), table=<sql_metrics>), Column('changed_by_fk', Integer(), ForeignKey('ab_user.id'), table=<sql_metrics>, nullable=False, onupdate=ColumnDefault(<function at 0x7fde2f4aa500>), default=ColumnDefault(<function at 0x7fde2f4aa488>)), Column('created_by_fk', Integer(), ForeignKey('ab_user.id'), table=<sql_metrics>, nullable=False, default=ColumnDefault(<function at 0x7fde2f4aa578>)), schema=None)), (Table('ab_role', MetaData(bind=None), Column('id', Integer(), table=<ab_role>, primary_key=True, nullable=False, default=Sequence('ab_role_id_seq', metadata=MetaData(bind=None))), Column('name', String(length=64), table=<ab_role>, nullable=False), schema=None), Table('ab_user_role', MetaData(bind=None), Column('id', Integer(), table=<ab_user_role>, primary_key=True, nullable=False, default=Sequence('ab_user_role_id_seq', metadata=MetaData(bind=None))), Column('user_id', Integer(), ForeignKey('ab_user.id'), table=<ab_user_role>), Column('role_id', Integer(), ForeignKey('ab_role.id'), table=<ab_user_role>), schema=None)), (Table('ab_permission', MetaData(bind=None), Column('id', Integer(), table=<ab_permission>, primary_key=True, nullable=False, default=Sequence('ab_permission_id_seq', metadata=MetaData(bind=None))), Column('name', String(length=100), table=<ab_permission>, nullable=False), schema=None), Table('ab_permission_view', MetaData(bind=None), Column('id', Integer(), table=<ab_permission_view>, primary_key=True, nullable=False, default=Sequence('ab_permission_view_id_seq', metadata=MetaData(bind=None))), Column('permission_id', Integer(), ForeignKey('ab_permission.id'), table=<ab_permission_view>), Column('view_menu_id', Integer(), ForeignKey('ab_view_menu.id'), table=<ab_permission_view>), schema=None)), (Table('ab_role', MetaData(bind=None), Column('id', Integer(), table=<ab_role>, primary_key=True, nullable=False, default=Sequence('ab_role_id_seq', metadata=MetaData(bind=None))), Column('name', String(length=64), table=<ab_role>, nullable=False), schema=None), Table('ab_permission_view_role', MetaData(bind=None), Column('id', Integer(), table=<ab_permission_view_role>, primary_key=True, nullable=False, default=Sequence('ab_permission_view_role_id_seq', metadata=MetaData(bind=None))), Column('permission_view_id', Integer(), ForeignKey('ab_permission_view.id'), table=<ab_permission_view_role>), Column('role_id', Integer(), ForeignKey('ab_role.id'), table=<ab_permission_view_role>), schema=None)), (Table('ab_user', MetaData(bind=None), Column('id', Integer(), table=<ab_user>, primary_key=True, nullable=False, default=Sequence('ab_user_id_seq', metadata=MetaData(bind=None))), Column('first_name', String(length=64), table=<ab_user>, nullable=False), Column('last_name', String(length=64), table=<ab_user>, nullable=False), Column('username', String(length=64), table=<ab_user>, nullable=False), Column('password', String(length=256), table=<ab_user>), Column('active', Boolean(), table=<ab_user>), Column('email', String(length=64), table=<ab_user>, nullable=False), Column('last_login', DateTime(), table=<ab_user>), Column('login_count', Integer(), table=<ab_user>), Column('fail_login_count', Integer(), table=<ab_user>), Column('created_on', DateTime(), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c71a28>)), Column('changed_on', DateTime(), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c71ed8>)), Column('created_by_fk', Integer(), ForeignKey('ab_user.id'), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c30c08>)), Column('changed_by_fk', Integer(), ForeignKey('ab_user.id'), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c30c80>)), schema=None), Table('table_columns', MetaData(bind=None), Column('created_on', DateTime(), table=<table_columns>, nullable=False, default=ColumnDefault(<function at 0x7fde37c62b18>)), Column('changed_on', DateTime(), table=<table_columns>, nullable=False, onupdate=ColumnDefault(<function at 0x7fde37c62c08>), default=ColumnDefault(<function at 0x7fde37c62b90>)), Column('id', Integer(), table=<table_columns>, primary_key=True, nullable=False), Column('table_id', Integer(), ForeignKey('tables.id'), table=<table_columns>), Column('column_name', String(length=256), table=<table_columns>), Column('is_dttm', Boolean(), table=<table_columns>, default=ColumnDefault(True)), Column('is_active', Boolean(), table=<table_columns>, default=ColumnDefault(True)), Column('type', String(length=32), table=<table_columns>, default=ColumnDefault('')), Column('groupby', Boolean(), table=<table_columns>, default=ColumnDefault(False)), Column('count_distinct', Boolean(), table=<table_columns>, default=ColumnDefault(False)), Column('sum', Boolean(), table=<table_columns>, default=ColumnDefault(False)), Column('max', Boolean(), table=<table_columns>, default=ColumnDefault(False)), Column('min', Boolean(), table=<table_columns>, default=ColumnDefault(False)), Column('filterable', Boolean(), table=<table_columns>, default=ColumnDefault(False)), Column('description', Text(), table=<table_columns>, default=ColumnDefault('')), Column('changed_by_fk', Integer(), ForeignKey('ab_user.id'), table=<table_columns>, nullable=False, onupdate=ColumnDefault(<function at 0x7fde2f4aa9b0>), default=ColumnDefault(<function at 0x7fde2f4aa8c0>)), Column('created_by_fk', Integer(), ForeignKey('ab_user.id'), table=<table_columns>, nullable=False, default=ColumnDefault(<function at 0x7fde2f4aaa28>)), schema=None)), (Table('ab_user', MetaData(bind=None), Column('id', Integer(), table=<ab_user>, primary_key=True, nullable=False, default=Sequence('ab_user_id_seq', metadata=MetaData(bind=None))), Column('first_name', String(length=64), table=<ab_user>, nullable=False), Column('last_name', String(length=64), table=<ab_user>, nullable=False), Column('username', String(length=64), table=<ab_user>, nullable=False), Column('password', String(length=256), table=<ab_user>), Column('active', Boolean(), table=<ab_user>), Column('email', String(length=64), table=<ab_user>, nullable=False), Column('last_login', DateTime(), table=<ab_user>), Column('login_count', Integer(), table=<ab_user>), Column('fail_login_count', Integer(), table=<ab_user>), Column('created_on', DateTime(), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c71a28>)), Column('changed_on', DateTime(), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c71ed8>)), Column('created_by_fk', Integer(), ForeignKey('ab_user.id'), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c30c08>)), Column('changed_by_fk', Integer(), ForeignKey('ab_user.id'), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c30c80>)), schema=None), Table('dbs', MetaData(bind=None), Column('created_on', DateTime(), table=, nullable=False, default=ColumnDefault(<function at 0x7fde37c62b18>)), Column('changed_on', DateTime(), table=, nullable=False, onupdate=ColumnDefault(<function at 0x7fde37c62c08>), default=ColumnDefault(<function at 0x7fde37c62b90>)), Column('id', Integer(), table=, primary_key=True, nullable=False), Column('database_name', String(length=255), table=), Column('sqlalchemy_uri', String(length=1024), table=), Column('changed_by_fk', Integer(), ForeignKey('ab_user.id'), table=, nullable=False, onupdate=ColumnDefault(<function at 0x7fde2f5006e0>), default=ColumnDefault(<function at 0x7fde2f50e938>)), Column('created_by_fk', Integer(), ForeignKey('ab_user.id'), table=, nullable=False, default=ColumnDefault(<function at 0x7fde2f500758>)), schema=None)), (Table('ab_user', MetaData(bind=None), Column('id', Integer(), table=<ab_user>, primary_key=True, nullable=False, default=Sequence('ab_user_id_seq', metadata=MetaData(bind=None))), Column('first_name', String(length=64), table=<ab_user>, nullable=False), Column('last_name', String(length=64), table=<ab_user>, nullable=False), Column('username', String(length=64), table=<ab_user>, nullable=False), Column('password', String(length=256), table=<ab_user>), Column('active', Boolean(), table=<ab_user>), Column('email', String(length=64), table=<ab_user>, nullable=False), Column('last_login', DateTime(), table=<ab_user>), Column('login_count', Integer(), table=<ab_user>), Column('fail_login_count', Integer(), table=<ab_user>), Column('created_on', DateTime(), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c71a28>)), Column('changed_on', DateTime(), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c71ed8>)), Column('created_by_fk', Integer(), ForeignKey('ab_user.id'), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c30c08>)), Column('changed_by_fk', Integer(), ForeignKey('ab_user.id'), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c30c80>)), schema=None), Table('ab_user_role', MetaData(bind=None), Column('id', Integer(), table=<ab_user_role>, primary_key=True, nullable=False, default=Sequence('ab_user_role_id_seq', metadata=MetaData(bind=None))), Column('user_id', Integer(), ForeignKey('ab_user.id'), table=<ab_user_role>), Column('role_id', Integer(), ForeignKey('ab_role.id'), table=<ab_user_role>), schema=None)), (Table('ab_view_menu', MetaData(bind=None), Column('id', Integer(), table=<ab_view_menu>, primary_key=True, nullable=False, default=Sequence('ab_view_menu_id_seq', metadata=MetaData(bind=None))), Column('name', String(length=100), table=<ab_view_menu>, nullable=False), schema=None), Table('ab_permission_view', MetaData(bind=None), Column('id', Integer(), table=<ab_permission_view>, primary_key=True, nullable=False, default=Sequence('ab_permission_view_id_seq', metadata=MetaData(bind=None))), Column('permission_id', Integer(), ForeignKey('ab_permission.id'), table=<ab_permission_view>), Column('view_menu_id', Integer(), ForeignKey('ab_view_menu.id'), table=<ab_permission_view>), schema=None)), (Table('dbs', MetaData(bind=None), Column('created_on', DateTime(), table=, nullable=False, default=ColumnDefault(<function at 0x7fde37c62b18>)), Column('changed_on', DateTime(), table=, nullable=False, onupdate=ColumnDefault(<function at 0x7fde37c62c08>), default=ColumnDefault(<function at 0x7fde37c62b90>)), Column('id', Integer(), table=, primary_key=True, nullable=False), Column('database_name', String(length=255), table=), Column('sqlalchemy_uri', String(length=1024), table=), Column('changed_by_fk', Integer(), ForeignKey('ab_user.id'), table=, nullable=False, onupdate=ColumnDefault(<function at 0x7fde2f5006e0>), default=ColumnDefault(<function at 0x7fde2f50e938>)), Column('created_by_fk', Integer(), ForeignKey('ab_user.id'), table=, nullable=False, default=ColumnDefault(<function at 0x7fde2f500758>)), schema=None), Table('tables', MetaData(bind=None), Column('created_on', DateTime(), table=, nullable=False, default=ColumnDefault(<function at 0x7fde37c62b18>)), Column('changed_on', DateTime(), table=, nullable=False, onupdate=ColumnDefault(<function at 0x7fde37c62c08>), default=ColumnDefault(<function at 0x7fde37c62b90>)), Column('id', Integer(), table=, primary_key=True, nullable=False), Column('table_name', String(length=255), table=), Column('main_datetime_column_id', Integer(), ForeignKey('table_columns.id'), table=), Column('default_endpoint', Text(), table=), Column('database_id', Integer(), ForeignKey('dbs.id'), table=, nullable=False), Column('changed_by_fk', Integer(), ForeignKey('ab_user.id'), table=, nullable=False, onupdate=ColumnDefault(<function at 0x7fde2f5009b0>), default=ColumnDefault(<function at 0x7fde2f500cf8>)), Column('created_by_fk', Integer(), ForeignKey('ab_user.id'), table=, nullable=False, default=ColumnDefault(<function at 0x7fde2f500d70>)), schema=None)), (Table('ab_user', MetaData(bind=None), Column('id', Integer(), table=<ab_user>, primary_key=True, nullable=False, default=Sequence('ab_user_id_seq', metadata=MetaData(bind=None))), Column('first_name', String(length=64), table=<ab_user>, nullable=False), Column('last_name', String(length=64), table=<ab_user>, nullable=False), Column('username', String(length=64), table=<ab_user>, nullable=False), Column('password', String(length=256), table=<ab_user>), Column('active', Boolean(), table=<ab_user>), Column('email', String(length=64), table=<ab_user>, nullable=False), Column('last_login', DateTime(), table=<ab_user>), Column('login_count', Integer(), table=<ab_user>), Column('fail_login_count', Integer(), table=<ab_user>), Column('created_on', DateTime(), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c71a28>)), Column('changed_on', DateTime(), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c71ed8>)), Column('created_by_fk', Integer(), ForeignKey('ab_user.id'), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c30c08>)), Column('changed_by_fk', Integer(), ForeignKey('ab_user.id'), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c30c80>)), schema=None), Table('clusters', MetaData(bind=None), Column('created_on', DateTime(), table=, nullable=False, default=ColumnDefault(<function at 0x7fde37c62b18>)), Column('changed_on', DateTime(), table=, nullable=False, onupdate=ColumnDefault(<function at 0x7fde37c62c08>), default=ColumnDefault(<function at 0x7fde37c62b90>)), Column('id', Integer(), table=, primary_key=True, nullable=False), Column('cluster_name', String(length=255), table=), Column('coordinator_host', String(length=256), table=), Column('coordinator_port', Integer(), table=), Column('coordinator_endpoint', String(length=256), table=), Column('broker_host', String(length=256), table=), Column('broker_port', Integer(), table=), Column('broker_endpoint', String(length=256), table=), Column('metadata_last_refreshed', DateTime(), table=), Column('changed_by_fk', Integer(), ForeignKey('ab_user.id'), table=, nullable=False, onupdate=ColumnDefault(<function at 0x7fde2f4aab90>), default=ColumnDefault(<function at 0x7fde2f4aad70>)), Column('created_by_fk', Integer(), ForeignKey('ab_user.id'), table=, nullable=False, default=ColumnDefault(<function at 0x7fde2f4aab18>)), schema=None)), (Table('ab_permission_view', MetaData(bind=None), Column('id', Integer(), table=<ab_permission_view>, primary_key=True, nullable=False, default=Sequence('ab_permission_view_id_seq', metadata=MetaData(bind=None))), Column('permission_id', Integer(), ForeignKey('ab_permission.id'), table=<ab_permission_view>), Column('view_menu_id', Integer(), ForeignKey('ab_view_menu.id'), table=<ab_permission_view>), schema=None), Table('ab_permission_view_role', MetaData(bind=None), Column('id', Integer(), table=<ab_permission_view_role>, primary_key=True, nullable=False, default=Sequence('ab_permission_view_role_id_seq', metadata=MetaData(bind=None))), Column('permission_view_id', Integer(), ForeignKey('ab_permission_view.id'), table=<ab_permission_view_role>), Column('role_id', Integer(), ForeignKey('ab_role.id'), table=<ab_permission_view_role>), schema=None)), (Table('tables', MetaData(bind=None), Column('created_on', DateTime(), table=, nullable=False, default=ColumnDefault(<function at 0x7fde37c62b18>)), Column('changed_on', DateTime(), table=, nullable=False, onupdate=ColumnDefault(<function at 0x7fde37c62c08>), default=ColumnDefault(<function at 0x7fde37c62b90>)), Column('id', Integer(), table=, primary_key=True, nullable=False), Column('table_name', String(length=255), table=), Column('main_datetime_column_id', Integer(), ForeignKey('table_columns.id'), table=), Column('default_endpoint', Text(), table=), Column('database_id', Integer(), ForeignKey('dbs.id'), table=, nullable=False), Column('changed_by_fk', Integer(), ForeignKey('ab_user.id'), table=, nullable=False, onupdate=ColumnDefault(<function at 0x7fde2f5009b0>), default=ColumnDefault(<function at 0x7fde2f500cf8>)), Column('created_by_fk', Integer(), ForeignKey('ab_user.id'), table=, nullable=False, default=ColumnDefault(<function at 0x7fde2f500d70>)), schema=None), Table('sql_metrics', MetaData(bind=None), Column('created_on', DateTime(), table=<sql_metrics>, nullable=False, default=ColumnDefault(<function at 0x7fde37c62b18>)), Column('changed_on', DateTime(), table=<sql_metrics>, nullable=False, onupdate=ColumnDefault(<function at 0x7fde37c62c08>), default=ColumnDefault(<function at 0x7fde37c62b90>)), Column('id', Integer(), table=<sql_metrics>, primary_key=True, nullable=False), Column('metric_name', String(length=512), table=<sql_metrics>), Column('verbose_name', String(length=1024), table=<sql_metrics>), Column('metric_type', String(length=32), table=<sql_metrics>), Column('table_id', Integer(), ForeignKey('tables.id'), table=<sql_metrics>), Column('expression', Text(), table=<sql_metrics>), Column('description', Text(), table=<sql_metrics>), Column('changed_by_fk', Integer(), ForeignKey('ab_user.id'), table=<sql_metrics>, nullable=False, onupdate=ColumnDefault(<function at 0x7fde2f4aa500>), default=ColumnDefault(<function at 0x7fde2f4aa488>)), Column('created_by_fk', Integer(), ForeignKey('ab_user.id'), table=<sql_metrics>, nullable=False, default=ColumnDefault(<function at 0x7fde2f4aa578>)), schema=None)), (Table('ab_user', MetaData(bind=None), Column('id', Integer(), table=<ab_user>, primary_key=True, nullable=False, default=Sequence('ab_user_id_seq', metadata=MetaData(bind=None))), Column('first_name', String(length=64), table=<ab_user>, nullable=False), Column('last_name', String(length=64), table=<ab_user>, nullable=False), Column('username', String(length=64), table=<ab_user>, nullable=False), Column('password', String(length=256), table=<ab_user>), Column('active', Boolean(), table=<ab_user>), Column('email', String(length=64), table=<ab_user>, nullable=False), Column('last_login', DateTime(), table=<ab_user>), Column('login_count', Integer(), table=<ab_user>), Column('fail_login_count', Integer(), table=<ab_user>), Column('created_on', DateTime(), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c71a28>)), Column('changed_on', DateTime(), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c71ed8>)), Column('created_by_fk', Integer(), ForeignKey('ab_user.id'), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c30c08>)), Column('changed_by_fk', Integer(), ForeignKey('ab_user.id'), table=<ab_user>, default=ColumnDefault(<function at 0x7fde37c30c80>)), schema=None), Table('datasources', MetaData(bind=None), Column('created_on', DateTime(), table=, nullable=False, default=ColumnDefault(<function at 0x7fde37c62b18>)), Column('changed_on', DateTime(), table=, nullable=False, onupdate=ColumnDefault(<function at 0x7fde37c62c08>), default=ColumnDefault(<function at 0x7fde37c62b90>)), Column('id', Integer(), table=, primary_key=True, nullable=False), Column('datasource_name', String(length=255), table=), Column('is_featured', Boolean(), table=, default=ColumnDefault(False)), Column('is_hidden', Boolean(), table=, default=ColumnDefault(False)), Column('description', Text(), table=), Column('default_endpoint', Text(), table=), Column('user_id', Integer(), ForeignKey('ab_user.id'), table=), Column('cluster_name', String(length=255), ForeignKey('clusters.cluster_name'), table=), Column('changed_by_fk', Integer(), ForeignKey('ab_user.id'), table=, nullable=False, onupdate=ColumnDefault(<function at 0x7fde2f4842a8>), default=ColumnDefault(<function at 0x7fde2f484410>)), Column('created_by_fk', Integer(), ForeignKey('ab_user.id'), table=, nullable=False, default=ColumnDefault(<function at 0x7fde2f484230>)), schema=None)), (Table('datasources', MetaData(bind=None), Column('created_on', DateTime(), table=, nullable=False, default=ColumnDefault(<function at 0x7fde37c62b18>)), Column('changed_on', DateTime(), table=, nullable=False, onupdate=ColumnDefault(<function at 0x7fde37c62c08>), default=ColumnDefault(<function at 0x7fde37c62b90>)), Column('id', Integer(), table=, primary_key=True, nullable=False), Column('datasource_name', String(length=255), table=), Column('is_featured', Boolean(), table=