upsert
fun <T : Table> T.upsert(conflictIndex: Index, body: T.(UpsertStatement<Long>) -> Unit): UpsertStatement<Long>
Convenience overload of Exposed's native upsert that takes a unique Index as the conflict target, forwarding its columns as the keys of the underlying ON CONFLICT (...) clause. This keeps the named index definitions in PostgresTables.kt as the single source of truth for conflict columns while using Exposed's upsert directly.