fun generateExposedTableColumns()

in exposed-gradle-plugin/plugin-build/exposed-code-generator/src/main/kotlin/org/jetbrains/exposed/gradle/builders/TableBuilder.kt [62:93]


    fun generateExposedTableColumns() {
        val idColumn = tableInfo.idColumn
        val columns = tableInfo.table.columns
        for (column in columns) {
            try {
                val columnMapping = data.columnNameToInitializerBlock[getColumnConfigName(column)]
                val columnBuilder = if (columnMapping != null) {
                    if (column == idColumn) {
                        MappedIdColumnBuilder(column, columnMapping, data)
                    } else {
                        MappedColumnBuilder(column, columnMapping, data)
                    }
                } else {
                    if (column == idColumn) {
                        IdColumnBuilder(column, data)
                    } else {
                        ColumnBuilder(column, data)
                    }
                }
                columnBuilder.generateExposedColumnInitializer(data.columnToPropertySpec, data.columnToTableSpec)
                val columnPropertySpec = columnBuilder.build()

                if (column != idColumn || tableInfo.superclass !in listOf(IntIdTable::class, LongIdTable::class, UUIDTable::class)) {
                    builder.addProperty(columnPropertySpec)
                }

                data.columnToPropertySpec[column] = columnPropertySpec
            } catch (e: UnsupportedTypeException) {
                logger.error("Unsupported type", e)
            }
        }
    }