MatrixDev / Roomigrant

Automated Android Room ORM migrations generator with compile-time code generation
MIT License
374 stars 23 forks source link

split generated buildScheme function into one function per schema change #10

Closed RBusarow closed 3 years ago

RBusarow commented 4 years ago

Fixes #9

Generated code looks like this:

fun buildScheme(): Map<Int, SchemeInfo> {
    val schemesMap = HashMap<Int, SchemeInfo>()
    schemesMap.put(1, buildSchemeInfo_1())
    schemesMap.put(2, buildSchemeInfo_2())
    schemesMap.put(3, buildSchemeInfo_3())
    schemesMap.put(4, buildSchemeInfo_4())
    schemesMap.put(5, buildSchemeInfo_5())
    schemesMap.put(6, buildSchemeInfo_6())
    return schemesMap
}

private fun buildSchemeInfo_1(): SchemeInfo {
    val tables = HashMap<String, TableInfo>()
    val schemeInfo = SchemeInfo(1, tables)

    val indices_Object1Dbo = HashMap<String, IndexInfo>()

    val tableInfo_Object1Dbo = TableInfo(schemeInfo, "Object1Dbo", "CREATE TABLE IF NOT EXISTS `Object1Dbo` (`id` TEXT NOT NULL, PRIMARY KEY(`id`))", indices_Object1Dbo)
    tables.put("Object1Dbo", tableInfo_Object1Dbo)

    return schemeInfo
}
MatrixDev commented 3 years ago

Was rewritten in separate pull request