K iFddlddlmZGddeZGddeZy))*) JSONFieldcdeZdZeedgZeZeZe Z e Z y) BaseChangeLogzDEFAULT CURRENT_TIMESTAMP) constraintsN) __name__ __module__ __qualname__ DateTimeFieldSQL timestamp TextFieldactiontable IntegerField primary_keyrchanges`/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/playhouse/sqlite_changelog.pyrrs13/J+K*LMI [F KE.KkGrrcVeZdZeZdZdZdZd dZd dZ d dZ dZ e d Z d d Zy) ChangeLogaCREATE TRIGGER IF NOT EXISTS %(table)s_changes_%(action)s AFTER %(action)s ON %(table)s BEGIN INSERT INTO %(change_table)s ("action", "table", "primary_key", "changes") SELECT '%(action)s', '%(table)s', %(new_old)s."%(primary_key)s", "changes" FROM ( SELECT json_group_object( col, json_array( case when json_valid("oldval") then json("oldval") else "oldval" end, case when json_valid("newval") then json("newval") else "newval" end) ) AS "changes" FROM ( SELECT json_extract(value, '$[0]') as "col", json_extract(value, '$[1]') as "oldval", json_extract(value, '$[2]') as "newval" FROM json_each(json_array(%(column_array)s)) WHERE "oldval" IS NOT "newval" ) ); END;z3DROP TRIGGER IF EXISTS %(table)s_changes_%(action)s)INSERTUPDATEDELETEc ||_||_yN)db table_name)selfrrs r__init__zChangeLog.__init__7s$rNc Hg}|jjD]w}|jr||j|vr!|j}|sdnd|z}|sdnd|z} t |t r|rd| z} |rd|z}|jd|d| d|dydj|S) NNULLzNEW."%s"zOLD."%s"zjson(%s)z json_array('z', z, )) _meta sorted_fieldsrname column_name isinstancerappendjoin) r modeluse_olduse_new skip_fields col_arrayfieldcolumnnewolds r_build_column_arrayzChangeLog._build_column_array;s [[.. NE  &5::+D&&F '&Z&-@C '&Z&-@C%+*s"2C*s"2C   63L M# N&yy##rc||jvsJ|dk7}|dk7}|j||||}|j|jj||dk7rdnd|jj j ||jdzS)NrrNEWOLD)rrnew_oldr column_array change_table)_actionsr5templater%rrr()r r,rr/r-r.colss r trigger_sqlzChangeLog.trigger_sqlTs&&&H$H$''wM}}[[++ &( 2u ;;22>>  OO  -- -rcn||jvsJ|j|jj|dzS)N)rr)r< drop_templater%r)r r,rs rdrop_trigger_sqlzChangeLog.drop_trigger_sqlas<&&&!![[++% rcptdsGfddj}|_jS)N_changelog_modelc&eZdZGfddZy)"ChangeLog.model..ChangeLogcBeZdZWjZWj Zy)'ChangeLog.model..ChangeLog.MetaN)rr r rdatabaserr srMetarHks#wwH!%JrrKN)rr r rKrJsrrrFjs 11rr)hasattr base_modelrD)r rs` rr,zChangeLog.modelgs4t/0 1DOO 1%.D !$$$rch|j}|r|jtt|||f|j} |r5| D]0\} } |j j |j|| 2| D]6\} } | s |j|| |} |j j | 8yr) r, create_tablelistzipr<r execute_sqlrBr?)r r,r/dropinsertupdatedeleterOractions_renabledsqls rinstallzChangeLog.installrsJJ   " " $sFFF3T]]CD $ J 6##D$9$9%$HI J ' )OGV&&ufkB##C( )r) changelogr)NTTTTT)rr r rrMr=rAr<r!r5r?rBpropertyr,r[rrrrr sTJ H4JM-H%$2 - %%BF7;)rrN)peeweeplayhouse.sqlite_extrModelrobjectrrrrrbs%*Es)s)r