in playground/process_analysis/status_transition_graph.py [0:0]
def from_database(cls, db_engine: Engine, issue_filter: IssueFilter | None = None) -> "StatusTransitionGraph":
"""
Create a StatusTransitionGraph using a connection to a DevLake database.
"""
query = "select i.issue_key as issue_key, i.original_type as issue_type, i.created_date as created_date, \
ic.original_from_value as original_from_value, ic.from_value as from_value, \
ic.original_to_value as original_to_value, ic.to_value as to_value, \
ic.created_date as changed_date \
from issue_changelogs ic \
join issues i on i.id = ic.issue_id \
where ic.field_name = 'status';"
df = pd.read_sql_query(query, db_engine)
return cls.from_data_frame(df, issue_filter)