diff --git a/src/main/kotlin/org/jetbrains/exposed/sql/Table.kt b/src/main/kotlin/org/jetbrains/exposed/sql/Table.kt index 2e657ca727..f1826108d3 100644 --- a/src/main/kotlin/org/jetbrains/exposed/sql/Table.kt +++ b/src/main/kotlin/org/jetbrains/exposed/sql/Table.kt @@ -384,7 +384,9 @@ open class Table(name: String = ""): ColumnSet(), DdlAware { entityId(name, foreign).references(foreign.id, onDelete, onUpdate) fun Table.reference(name: String, pkColumn: Column): Column { - val column = Column(this, name, pkColumn.columnType) references pkColumn + val originalType = (pkColumn.columnType as? EntityIDColumnType<*>)?.idColumn?.columnType ?: pkColumn.columnType + val columnType = originalType.let { (it as? AutoIncColumnType)?.delegate ?: it}.clone() + val column = Column(this, name, columnType) references pkColumn this._columns.add(column) return column }