def sync_to_db(cls, name): datasource = db.session.query(cls).filter_by(datasource_name=name).first() if not datasource: db.session.add(cls(datasource_name=name)) cols = cls.latest_metadata(name) if not cols: return for col in cols: col_obj = ( db.session .query(Column) .filter_by(datasource_name=name, column_name=col) .first() ) datatype = cols[col]['type'] if not col_obj: col_obj = Column(datasource_name=name, column_name=col) db.session.add(col_obj) if datatype == "STRING": col_obj.groupby = True col_obj.filterable = True if col_obj: col_obj.type = cols[col]['type'] col_obj.generate_metrics() db.session.commit()
def sync_to_db(cls, name, cluster): session = get_session() datasource = session.query(cls).filter_by(datasource_name=name).first() if not datasource: datasource = cls(datasource_name=name) session.add(datasource) datasource.cluster = cluster cols = datasource.latest_metadata() if not cols: return for col in cols: col_obj = ( session .query(Column) .filter_by(datasource_name=name, column_name=col) .first() ) datatype = cols[col]['type'] if not col_obj: col_obj = Column(datasource_name=name, column_name=col) session.add(col_obj) if datatype == "STRING": col_obj.groupby = True col_obj.filterable = True if col_obj: col_obj.type = cols[col]['type'] col_obj.datasource = datasource col_obj.generate_metrics()
def sync_to_db(cls, name): datasource = db.session.query(cls).filter_by( datasource_name=name).first() if not datasource: db.session.add(cls(datasource_name=name)) cols = cls.latest_metadata(name) if not cols: return for col in cols: col_obj = (db.session.query(Column).filter_by( datasource_name=name, column_name=col).first()) datatype = cols[col]['type'] if not col_obj: col_obj = Column(datasource_name=name, column_name=col) db.session.add(col_obj) if datatype == "STRING": col_obj.groupby = True col_obj.filterable = True if col_obj: col_obj.type = cols[col]['type'] col_obj.generate_metrics() db.session.commit()