reconcileColumns
open fun reconcileColumns(@NonNull db: SQLiteDatabase, @NonNull createSql: String, @Nullable indexSql: String): SqliteSchemaMigration.Result
Bring an existing table's columns in line with createSql while keeping its rows. No-op (no copy) when the columns already match. Otherwise rebuilds the table, copying the columns both shapes share. If not every row can be carried over (or any step fails), the old table is put back unchanged and the failure is logged at error level: rows are never traded for the new shape. Never throws for a migration failure; reading the table's shape can throw.