diff_data_tables
Compare two DataTables row by row and cell by cell without altering them; return added, removed, changed rows and cell-level differences from asset paths or JSON dumps.
Instructions
Diff two DataTables row by row and cell by cell without modifying either: two asset paths (a, b), or two JSON dumps (before_json, after) such as get_data_table_rows or export_data_table_as_json output, which win when present. Returns identical, added/removed/changed rows with counts and changed cells as {column, a, b}.
Returns: { mode, identical, added_count, removed_count, changed_count, unchanged_count, a_row_count, b_row_count, added_rows:[{row_name,row_data}], removed_rows:[...], changed_rows:[{row_name,changed_cells:[{column,a,b}]}] }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| a | No | Full asset path of the first DataTable (alias: table_a); asset mode | |
| b | No | Full asset path of the second DataTable (alias: table_b); asset mode | |
| after | No | The 'after'/B table dump as a JSON object/array or stringified JSON (alias: after_json); JSON mode | |
| before | No | Alias of before_json: the first (before) table dump; before_json wins when both are given | |
| table_a | No | Alias of a: asset path of the first DataTable, e.g. "/Game/Data/DT_Items"; a wins when both are given | |
| table_b | No | Alias of b: asset path of the second DataTable, e.g. "/Game/Data/DT_Items_Old"; b wins when both are given | |
| after_json | No | Alias of after: the second (after) table dump; after wins when both are given | |
| before_json | No | The 'before'/A table dump as a JSON object/array or stringified JSON (alias: before); JSON mode |