package moe.odango.index.cli import com.github.ajalt.clikt.core.CliktCommand import com.github.ajalt.clikt.parameters.options.flag import com.github.ajalt.clikt.parameters.options.option import io.requery.sql.KotlinConfiguration import io.requery.sql.SchemaModifier import io.requery.sql.TableCreationMode import moe.odango.index.di import org.kodein.di.instance class DatabaseMigration : CliktCommand(name = "db:create") { private val print by option().flag(default = false) private val exec by option().flag(default = false) override fun run() { val config by di.instance() val modifier = SchemaModifier(config) if (exec) { modifier.createTables(TableCreationMode.CREATE_NOT_EXISTS) } if (print) { println(modifier.createTablesString(TableCreationMode.CREATE_NOT_EXISTS)) } } }