datamodel = SQLAInterface(models.Database) list_columns = ['database_name', 'created_by', 'created_on'] add_columns = ['database_name', 'sqlalchemy_uri'] edit_columns = add_columns add_template = "panoramix/models/database/add.html" edit_template = "panoramix/models/database/edit.html" description_columns = { 'sqlalchemy_uri': ( "Refer to the SqlAlchemy docs for more information on how " "to structure your URI here: " "http://docs.sqlalchemy.org/en/rel_1_0/core/engines.html") } appbuilder.add_view( DatabaseView, "Databases", icon="fa-database", category="Sources", category_icon='fa-database',) class TableView(PanoramixModelView, DeleteMixin): datamodel = SQLAInterface(models.SqlaTable) list_columns = ['table_link', 'database', 'changed_by', 'changed_on'] add_columns = ['table_name', 'database', 'default_endpoint', 'offset'] edit_columns = [ 'table_name', 'database', 'main_dttm_col', 'default_endpoint', 'offset'] related_views = [TableColumnInlineView, SqlMetricInlineView] base_order = ('changed_on','desc') description_columns = { 'offset': "Timezone offset (in hours) for this datasource"
appbuilder.add_view_no_menu(MetricInlineView) class ClusterModelView(ModelView, DeleteMixin): datamodel = SQLAInterface(models.Cluster) add_columns = [ 'cluster_name', 'coordinator_host', 'coordinator_port', 'coordinator_endpoint', 'broker_host', 'broker_port', 'broker_endpoint', ] edit_columns = add_columns list_columns = ['cluster_name', 'metadata_last_refreshed'] appbuilder.add_view( ClusterModelView, "Druid Clusters", icon="fa-server", category="Admin", category_icon='fa-cogs',) class DatabaseView(ModelView, DeleteMixin): datamodel = SQLAInterface(models.Database) list_columns = ['database_name'] add_columns = ['database_name', 'sqlalchemy_uri'] edit_columns = add_columns appbuilder.add_view( DatabaseView, "Databases", icon="fa-database", category="Admin",
"to structure your URI here: " "http://docs.sqlalchemy.org/en/rel_1_0/core/engines.html" ) } def pre_add(self, db): conn = sqla.engine.url.make_url(db.sqlalchemy_uri) db.password = conn.password conn.password = "******" * 10 if conn.password else None db.sqlalchemy_uri = str(conn) # hides the password def pre_update(self, db): self.pre_add(db) appbuilder.add_view(DatabaseView, "Databases", icon="fa-database", category="Sources", category_icon="fa-database") class TableView(PanoramixModelView, DeleteMixin): datamodel = SQLAInterface(models.SqlaTable) list_columns = ["table_link", "database", "changed_by", "changed_on_"] add_columns = ["table_name", "database", "default_endpoint", "offset"] edit_columns = ["table_name", "database", "description", "main_dttm_col", "default_endpoint", "offset"] related_views = [TableColumnInlineView, SqlMetricInlineView] base_order = ("changed_on", "desc") description_columns = {"offset": "Timezone offset (in hours) for this datasource"} def post_add(self, table): try: table.fetch_metadata() except Exception as e:
} def pre_add(self, db): conn = sqla.engine.url.make_url(db.sqlalchemy_uri) db.password = conn.password conn.password = "******" * 10 if conn.password else None db.sqlalchemy_uri = str(conn) # hides the password def pre_update(self, db): self.pre_add(db) appbuilder.add_view( DatabaseView, "Databases", icon="fa-database", category="Sources", category_icon='fa-database', ) class TableView(PanoramixModelView, DeleteMixin): datamodel = SQLAInterface(models.SqlaTable) list_columns = ['table_link', 'database', 'changed_by', 'changed_on_'] add_columns = ['table_name', 'database', 'default_endpoint', 'offset'] edit_columns = [ 'table_name', 'is_featured', 'database', 'description', 'owner', 'main_dttm_col', 'default_endpoint', 'offset' ] related_views = [TableColumnInlineView, SqlMetricInlineView] base_order = ('changed_on', 'desc')