
@startuml erd

title Apache Superset ERD

!theme blueprint

' avoid problems with angled crows feet

skinparam linetype ortho
skinparam classBorderColor #grey

skinparam classBorderColor<<new>> #white
skinparam classBorderThickness<<new>> 1
skinparam classLineStyle<<new>> Dashed
skinparam ClassBackgroundColor<<new>> #204143

' Models
rectangle "Data Assets" #black {
        entity "SqlMetric (sql_metrics)" as sql_metrics {
            uuid: BINARY(16)
            created_on: DATETIME
            changed_on: DATETIME
            id: INTEGER
            metric_name: VARCHAR(255)
            verbose_name: VARCHAR(1024)
            metric_type: VARCHAR(32)
            description: TEXT
            d3format: VARCHAR(128)
            currency: VARCHAR(128)
            warning_text: TEXT
            table_id: INTEGER
            expression: TEXT
            extra: TEXT
            created_by_fk: INTEGER
            changed_by_fk: INTEGER
        }
        entity "DatabaseUserOAuth2Tokens (database_user_oauth2_tokens)" as database_user_oauth2_tokens {
            created_on: DATETIME
            changed_on: DATETIME
            id: INTEGER
            user_id: INTEGER
            database_id: INTEGER
            access_token: BLOB
            access_token_expiration: DATETIME
            refresh_token: BLOB
            created_by_fk: INTEGER
            changed_by_fk: INTEGER
        }
        entity "Table (sl_tables)" as sl_tables {
            uuid: BINARY(16)
            created_on: DATETIME
            changed_on: DATETIME
            extra_json: TEXT
            id: INTEGER
            database_id: INTEGER
            catalog: TEXT
            schema: TEXT
            name: TEXT
            is_managed_externally: BOOLEAN
            external_url: TEXT
            created_by_fk: INTEGER
            changed_by_fk: INTEGER
        }
        entity "Database (dbs)" as dbs {
            uuid: BINARY(16)
            created_on: DATETIME
            changed_on: DATETIME
            id: INTEGER
            verbose_name: VARCHAR(250)
            database_name: VARCHAR(250)
            sqlalchemy_uri: VARCHAR(1024)
            password: BLOB
            cache_timeout: INTEGER
            select_as_create_table_as: BOOLEAN
            expose_in_sqllab: BOOLEAN
            configuration_method: VARCHAR(255)
            allow_run_async: BOOLEAN
            allow_file_upload: BOOLEAN
            allow_ctas: BOOLEAN
            allow_cvas: BOOLEAN
            allow_dml: BOOLEAN
            force_ctas_schema: VARCHAR(250)
            extra: TEXT
            encrypted_extra: BLOB
            impersonate_user: BOOLEAN
            server_cert: BLOB
            is_managed_externally: BOOLEAN
            external_url: TEXT
            created_by_fk: INTEGER
            changed_by_fk: INTEGER
        }
        entity "Dataset (sl_datasets)" as sl_datasets {
            uuid: BINARY(16)
            created_on: DATETIME
            changed_on: DATETIME
            extra_json: TEXT
            id: INTEGER
            database_id: INTEGER
            is_physical: BOOLEAN
            is_managed_externally: BOOLEAN
            name: TEXT
            expression: TEXT
            external_url: TEXT
            created_by_fk: INTEGER
            changed_by_fk: INTEGER
        }
        entity "SqlaTable (tables)" as tables {
            uuid: BINARY(16)
            created_on: DATETIME
            changed_on: DATETIME
            id: INTEGER
            description: TEXT
            default_endpoint: TEXT
            is_featured: BOOLEAN
            filter_select_enabled: BOOLEAN
            offset: INTEGER
            cache_timeout: INTEGER
            params: VARCHAR(1000)
            perm: VARCHAR(1000)
            schema_perm: VARCHAR(1000)
            is_managed_externally: BOOLEAN
            external_url: TEXT
            table_name: VARCHAR(250)
            main_dttm_col: VARCHAR(250)
            database_id: INTEGER
            fetch_values_predicate: TEXT
            schema: VARCHAR(255)
            sql: TEXT
            is_sqllab_view: BOOLEAN
            template_params: TEXT
            extra: TEXT
            normalize_columns: BOOLEAN
            always_filter_main_dttm: BOOLEAN
            created_by_fk: INTEGER
            changed_by_fk: INTEGER
        }
        entity "TableColumn (table_columns)" as table_columns {
            uuid: BINARY(16)
            created_on: DATETIME
            changed_on: DATETIME
            id: INTEGER
            column_name: VARCHAR(255)
            verbose_name: VARCHAR(1024)
            is_active: BOOLEAN
            type: TEXT
            advanced_data_type: VARCHAR(255)
            groupby: BOOLEAN
            filterable: BOOLEAN
            description: TEXT
            table_id: INTEGER
            is_dttm: BOOLEAN
            expression: TEXT
            python_date_format: VARCHAR(255)
            extra: TEXT
            created_by_fk: INTEGER
            changed_by_fk: INTEGER
        }
        entity "Column (sl_columns)" as sl_columns {
            uuid: BINARY(16)
            created_on: DATETIME
            changed_on: DATETIME
            extra_json: TEXT
            id: INTEGER
            is_additive: BOOLEAN
            is_aggregation: BOOLEAN
            is_filterable: BOOLEAN
            is_dimensional: BOOLEAN
            is_increase_desired: BOOLEAN
            is_managed_externally: BOOLEAN
            is_partition: BOOLEAN
            is_physical: BOOLEAN
            is_spatial: BOOLEAN
            is_temporal: BOOLEAN
            name: TEXT
            type: TEXT
            advanced_data_type: TEXT
            expression: TEXT
            unit: TEXT
            description: TEXT
            warning_text: TEXT
            external_url: TEXT
            created_by_fk: INTEGER
            changed_by_fk: INTEGER
        }
        entity "RowLevelSecurityFilter (row_level_security_filters)" as row_level_security_filters {
            created_on: DATETIME
            changed_on: DATETIME
            id: INTEGER
            name: VARCHAR(255)
            description: TEXT
            filter_type: VARCHAR(7)
            group_key: VARCHAR(255)
            clause: TEXT
            created_by_fk: INTEGER
            changed_by_fk: INTEGER
        }
        }
rectangle "System" #black {
        entity "KeyValueEntry (key_value)" as key_value {
            uuid: BINARY(16)
            id: INTEGER
            resource: VARCHAR(32)
            value: BLOB
            created_on: DATETIME
            created_by_fk: INTEGER
            changed_on: DATETIME
            expires_on: DATETIME
            changed_by_fk: INTEGER
        }
        entity "SSHTunnel (ssh_tunnels)" as ssh_tunnels {
            uuid: BINARY(16)
            created_on: DATETIME
            changed_on: DATETIME
            extra_json: TEXT
            id: INTEGER
            database_id: INTEGER
            server_address: TEXT
            server_port: INTEGER
            username: BLOB
            password: BLOB
            private_key: BLOB
            private_key_password: BLOB
            created_by_fk: INTEGER
            changed_by_fk: INTEGER
        }
        entity "KeyValue (keyvalue)" as keyvalue {
            id: INTEGER
            value: TEXT
        }
        entity "CacheKey (cache_keys)" as cache_keys {
            id: INTEGER
            cache_key: VARCHAR(256)
            cache_timeout: INTEGER
            datasource_uid: VARCHAR(64)
            created_on: DATETIME
        }
        entity "Log (logs)" as logs {
            id: INTEGER
            action: VARCHAR(512)
            user_id: INTEGER
            dashboard_id: INTEGER
            slice_id: INTEGER
            json: TEXT
            dttm: DATETIME
            duration_ms: INTEGER
            referrer: VARCHAR(1024)
        }
        }
rectangle "SQL Lab" #black {
        entity "SavedQuery (saved_query)" as saved_query {
            uuid: BINARY(16)
            created_on: DATETIME
            changed_on: DATETIME
            extra_json: TEXT
            id: INTEGER
            user_id: INTEGER
            db_id: INTEGER
            schema: VARCHAR(128)
            label: VARCHAR(256)
            description: TEXT
            sql: TEXT
            template_parameters: TEXT
            rows: INTEGER
            last_run: DATETIME
            created_by_fk: INTEGER
            changed_by_fk: INTEGER
        }
        entity "TableSchema (table_schema)" as table_schema {
            created_on: DATETIME
            changed_on: DATETIME
            extra_json: TEXT
            id: INTEGER
            tab_state_id: INTEGER
            database_id: INTEGER
            schema: VARCHAR(256)
            table: VARCHAR(256)
            description: TEXT
            expanded: BOOLEAN
            created_by_fk: INTEGER
            changed_by_fk: INTEGER
        }
        entity "Query (query)" as query {
            tracking_url: TEXT
            extra_json: TEXT
            id: INTEGER
            client_id: VARCHAR(11)
            database_id: INTEGER
            tmp_table_name: VARCHAR(256)
            tmp_schema_name: VARCHAR(256)
            user_id: INTEGER
            status: VARCHAR(16)
            tab_name: VARCHAR(256)
            sql_editor_id: VARCHAR(256)
            schema: VARCHAR(256)
            sql: TEXT
            select_sql: TEXT
            executed_sql: TEXT
            limit: INTEGER
            limiting_factor: VARCHAR(18)
            select_as_cta: BOOLEAN
            select_as_cta_used: BOOLEAN
            ctas_method: VARCHAR(16)
            progress: INTEGER
            rows: INTEGER
            error_message: TEXT
            results_key: VARCHAR(64)
            start_time: NUMERIC(20, 6)
            start_running_time: NUMERIC(20, 6)
            end_time: NUMERIC(20, 6)
            end_result_backend_time: NUMERIC(20, 6)
            changed_on: DATETIME
        }
        entity "TabState (tab_state)" as tab_state {
            created_on: DATETIME
            changed_on: DATETIME
            extra_json: TEXT
            id: INTEGER
            user_id: INTEGER
            label: VARCHAR(256)
            active: BOOLEAN
            database_id: INTEGER
            schema: VARCHAR(256)
            sql: TEXT
            query_limit: INTEGER
            latest_query_id: INTEGER
            autorun: BOOLEAN
            template_params: TEXT
            hide_left_bar: BOOLEAN
            saved_query_id: INTEGER
            created_by_fk: INTEGER
            changed_by_fk: INTEGER
        }
        }
rectangle "Core" #black {
        entity "FavStar (favstar)" as favstar {
            id: INTEGER
            user_id: INTEGER
            class_name: VARCHAR(50)
            obj_id: INTEGER
            dttm: DATETIME
        }
        entity "Dashboard (dashboards)" as dashboards {
            uuid: BINARY(16)
            created_on: DATETIME
            changed_on: DATETIME
            id: INTEGER
            dashboard_title: VARCHAR(500)
            position_json: TEXT
            description: TEXT
            css: TEXT
            certified_by: TEXT
            certification_details: TEXT
            json_metadata: TEXT
            slug: VARCHAR(255)
            published: BOOLEAN
            is_managed_externally: BOOLEAN
            external_url: TEXT
            created_by_fk: INTEGER
            changed_by_fk: INTEGER
        }
        entity "Annotation (annotation)" as annotation {
            created_on: DATETIME
            changed_on: DATETIME
            id: INTEGER
            start_dttm: DATETIME
            end_dttm: DATETIME
            layer_id: INTEGER
            short_descr: VARCHAR(500)
            long_descr: TEXT
            json_metadata: TEXT
            created_by_fk: INTEGER
            changed_by_fk: INTEGER
        }
        entity "EmbeddedDashboard (embedded_dashboards)" as embedded_dashboards {
            created_on: DATETIME
            changed_on: DATETIME
            uuid: BINARY(16)
            allow_domain_list: TEXT
            dashboard_id: INTEGER
            created_by_fk: INTEGER
            changed_by_fk: INTEGER
        }
        entity "Slice (slices)" as slices {
            uuid: BINARY(16)
            created_on: DATETIME
            changed_on: DATETIME
            id: INTEGER
            slice_name: VARCHAR(250)
            datasource_id: INTEGER
            datasource_type: VARCHAR(200)
            datasource_name: VARCHAR(2000)
            viz_type: VARCHAR(250)
            params: TEXT
            query_context: TEXT
            description: TEXT
            cache_timeout: INTEGER
            perm: VARCHAR(1000)
            schema_perm: VARCHAR(1000)
            last_saved_at: DATETIME
            last_saved_by_fk: INTEGER
            certified_by: TEXT
            certification_details: TEXT
            is_managed_externally: BOOLEAN
            external_url: TEXT
            created_by_fk: INTEGER
            changed_by_fk: INTEGER
        }
        entity "TaggedObject (tagged_object)" as tagged_object {
            created_on: DATETIME
            changed_on: DATETIME
            id: INTEGER
            tag_id: INTEGER
            object_id: INTEGER
            object_type: VARCHAR(9)
            created_by_fk: INTEGER
            changed_by_fk: INTEGER
        }
        entity "AnnotationLayer (annotation_layer)" as annotation_layer {
            created_on: DATETIME
            changed_on: DATETIME
            id: INTEGER
            name: VARCHAR(250)
            descr: TEXT
            created_by_fk: INTEGER
            changed_by_fk: INTEGER
        }
        entity "DynamicPlugin (dynamic_plugin)" as dynamic_plugin {
            created_on: DATETIME
            changed_on: DATETIME
            id: INTEGER
            name: TEXT
            key: TEXT
            bundle_url: TEXT
            created_by_fk: INTEGER
            changed_by_fk: INTEGER
        }
        entity "Tag (tag)" as tag {
            created_on: DATETIME
            changed_on: DATETIME
            id: INTEGER
            name: VARCHAR(250)
            type: VARCHAR(12)
            description: TEXT
            created_by_fk: INTEGER
            changed_by_fk: INTEGER
        }
        entity "CssTemplate (css_templates)" as css_templates {
            created_on: DATETIME
            changed_on: DATETIME
            id: INTEGER
            template_name: VARCHAR(250)
            css: TEXT
            created_by_fk: INTEGER
            changed_by_fk: INTEGER
        }
        entity "UserAttribute (user_attribute)" as user_attribute {
            created_on: DATETIME
            changed_on: DATETIME
            id: INTEGER
            user_id: INTEGER
            welcome_dashboard_id: INTEGER
            avatar_url: VARCHAR(100)
            created_by_fk: INTEGER
            changed_by_fk: INTEGER
        }
        }
rectangle "Inherited from Flask App Builder (FAB)" #black {
        entity "ViewMenu (ab_view_menu)" as ab_view_menu {
            id: INTEGER
            name: VARCHAR(250)
        }
        entity "Permission (ab_permission)" as ab_permission {
            id: INTEGER
            name: VARCHAR(100)
        }
        entity "User (ab_user)" as ab_user {
            id: INTEGER
            first_name: VARCHAR(64)
            last_name: VARCHAR(64)
            username: VARCHAR(64)
            password: VARCHAR(256)
            active: BOOLEAN
            email: VARCHAR(320)
            last_login: DATETIME
            login_count: INTEGER
            fail_login_count: INTEGER
            created_on: DATETIME
            changed_on: DATETIME
            created_by_fk: INTEGER
            changed_by_fk: INTEGER
        }
        entity "RegisterUser (ab_register_user)" as ab_register_user {
            id: INTEGER
            first_name: VARCHAR(64)
            last_name: VARCHAR(64)
            username: VARCHAR(64)
            password: VARCHAR(256)
            email: VARCHAR(64)
            registration_date: DATETIME
            registration_hash: VARCHAR(256)
        }
        entity "PermissionView (ab_permission_view)" as ab_permission_view {
            id: INTEGER
            permission_id: INTEGER
            view_menu_id: INTEGER
        }
        entity "Role (ab_role)" as ab_role {
            id: INTEGER
            name: VARCHAR(64)
        }
        }
rectangle "Alerts & Reports" #black {
        entity "ReportRecipients (report_recipient)" as report_recipient {
            created_on: DATETIME
            changed_on: DATETIME
            id: INTEGER
            type: VARCHAR(50)
            recipient_config_json: TEXT
            report_schedule_id: INTEGER
            created_by_fk: INTEGER
            changed_by_fk: INTEGER
        }
        entity "ReportExecutionLog (report_execution_log)" as report_execution_log {
            id: INTEGER
            uuid: BINARY(16)
            scheduled_dttm: DATETIME
            start_dttm: DATETIME
            end_dttm: DATETIME
            value: FLOAT
            value_row_json: TEXT
            state: VARCHAR(50)
            error_message: TEXT
            report_schedule_id: INTEGER
        }
        entity "ReportSchedule (report_schedule)" as report_schedule {
            created_on: DATETIME
            changed_on: DATETIME
            extra_json: TEXT
            id: INTEGER
            type: VARCHAR(50)
            name: VARCHAR(150)
            description: TEXT
            context_markdown: TEXT
            active: BOOLEAN
            crontab: VARCHAR(1000)
            creation_method: VARCHAR(255)
            timezone: VARCHAR(100)
            report_format: VARCHAR(50)
            sql: TEXT
            chart_id: INTEGER
            dashboard_id: INTEGER
            database_id: INTEGER
            last_eval_dttm: DATETIME
            last_state: VARCHAR(50)
            last_value: FLOAT
            last_value_row_json: TEXT
            validator_type: VARCHAR(100)
            validator_config_json: TEXT
            log_retention: INTEGER
            grace_period: INTEGER
            working_timeout: INTEGER
            force_screenshot: BOOLEAN
            custom_width: INTEGER
            custom_height: INTEGER
            created_by_fk: INTEGER
            changed_by_fk: INTEGER
        }
        }
' Relationships

    sql_metrics }|--|| tables
    sql_metrics }|--|| ab_user

    database_user_oauth2_tokens }|--|| ab_user
    database_user_oauth2_tokens }|--|| dbs

    sl_tables }|--|| dbs
    sl_tables }|--|{ sl_columns
    sl_tables }|--|| ab_user
    sl_tables }|--|{ sl_datasets

    dbs }|--|| ab_user
    dbs ||--|{ tables
    dbs ||--|{ sl_datasets

    sl_datasets }|--|{ sl_columns
    sl_datasets }|--|{ ab_user

    tables ||--|{ table_columns
    tables }|--|{ row_level_security_filters

    table_columns }|--|| ab_user

    sl_columns }|--|| ab_user

    row_level_security_filters }|--|| ab_user

    key_value }|--|| ab_user

    ssh_tunnels }|--|| dbs
    ssh_tunnels }|--|| ab_user




    saved_query }|--|| ab_user
    saved_query }|--|| dbs
    saved_query }|--|{ tag

    table_schema }|--|| dbs
    table_schema }|--|| ab_user
    table_schema }|--|| tab_state

    query }|--|| dbs
    query }|--|| ab_user

    tab_state }|--|| dbs
    tab_state }|--|| query
    tab_state }|--|| saved_query
    tab_state }|--|| ab_user


    dashboards }|--|{ slices
    dashboards }|--|{ ab_user
    dashboards }|--|{ tag
    dashboards }|--|{ ab_role
    dashboards ||--|{ embedded_dashboards
    dashboards ||--|{ report_schedule

    annotation }|--|| annotation_layer
    annotation }|--|| ab_user

    embedded_dashboards }|--|| ab_user

    slices }|--|| ab_user
    slices }|--|{ tag
    slices }|--|| tables
    slices ||--|{ report_schedule

    tagged_object }|--|| tag
    tagged_object }|--|| ab_user

    annotation_layer }|--|| ab_user

    dynamic_plugin }|--|| ab_user

    tag }|--|{ ab_user

    css_templates }|--|| ab_user

    user_attribute }|--|| dashboards



    ab_user }|--|{ ab_role
    ab_user }|--|| ab_user
    ab_user ||--|{ logs
    ab_user ||--|{ user_attribute
    ab_user }|--|{ tables


    ab_permission_view }|--|| ab_permission
    ab_permission_view }|--|| ab_view_menu
    ab_permission_view }|--|{ ab_role

    ab_role }|--|{ row_level_security_filters

    report_recipient }|--|| report_schedule
    report_recipient }|--|| ab_user

    report_execution_log }|--|| report_schedule

    report_schedule }|--|| dbs
    report_schedule }|--|{ ab_user
@enduml
