@@ -8,6 +8,7 @@ import java.util.regex.Pattern
88import kotlin.reflect.KClass
99import net.sf.jsqlparser.parser.CCJSqlParserUtil
1010import net.sf.jsqlparser.statement.create.table.CreateTable
11+ import wisp.logging.getLogger
1112
1213internal class DeclarativeSchemaMigrator (
1314 private val qualifier : KClass <out Annotation >,
@@ -17,6 +18,7 @@ internal class DeclarativeSchemaMigrator(
1718 private val connector : DataSourceConnector ,
1819 private val skeemaWrapper : SkeemaWrapper ,
1920) : BaseSchemaMigrator(resourceLoader, dataSourceService, connector) {
21+ private val logger = getLogger<DeclarativeSchemaMigrator >()
2022
2123 override fun validateMigrationFile (migrationFile : MigrationFile ): Boolean {
2224 return ! Pattern .compile(connector.config().migrations_resources_regex)
@@ -58,6 +60,7 @@ internal class DeclarativeSchemaMigrator(
5860 actualTables : Map <String , Map <String , String >>,
5961 excludedTables : Set <String >
6062 ) {
63+ logger.info { " Comparing expected tables $expectedTables to actual tables $actualTables in the database" }
6164 for ((expectedTable, expectedColumns) in expectedTables) {
6265 if (excludedTables.contains(expectedTable)) {
6366 continue
@@ -94,12 +97,12 @@ internal class DeclarativeSchemaMigrator(
9497
9598 // Check if the parsed statement is a CREATE TABLE statement
9699 if (statement is CreateTable ) {
97- val tableName = statement.table.name.lowercase()
100+ val tableName = statement.table.name.lowercase().removeSurrounding( " ` " )
98101 val columns = mutableMapOf<String , String >()
99102
100103 // Iterate over columns to extract names and data types
101104 statement.columnDefinitions?.forEach { columnDefinition ->
102- val columnName = columnDefinition.columnName.lowercase()
105+ val columnName = columnDefinition.columnName.lowercase().removeSurrounding( " ` " )
103106 val columnType = columnDefinition.colDataType.dataType.lowercase()
104107
105108 // The type is returned in the format `type(precision, scale)`,
0 commit comments