refactor/added the MigrationOfAccountHolderAddedSource

This commit is contained in:
hongwei 2022-12-06 00:19:46 +01:00
parent db8f957538
commit b3e4aebd3e
2 changed files with 63 additions and 0 deletions

View File

@ -61,6 +61,7 @@ object Migration extends MdcLoggable {
def executeScripts(startedBeforeSchemifier: Boolean): Boolean = executeScript {
dummyScript()
addMapperAccountHoldersFieldSource()
addAccountAccessConsumerId()
populateTableViewDefinition()
populateTableAccountAccess()
@ -427,6 +428,12 @@ object Migration extends MdcLoggable {
}
}
private def addMapperAccountHoldersFieldSource(): Boolean = {
val name = nameOf(addMapperAccountHoldersFieldSource)
runOnce(name) {
MigrationOfAccountHolderAddedSource.addMapperAccountHoldersSource(name)
}
}
}
/**

View File

@ -0,0 +1,56 @@
package code.api.util.migration
import code.api.util.APIUtil
import code.api.util.migration.Migration.{DbFunction, saveLog}
import code.accountholders.MapperAccountHolders
import net.liftweb.common.Full
import net.liftweb.mapper.{DB, Schemifier}
import net.liftweb.util.DefaultConnectionIdentifier
object MigrationOfAccountHolderAddedSource {
def addMapperAccountHoldersSource(name: String): Boolean = {
DbFunction.tableExists(MapperAccountHolders, (DB.use(DefaultConnectionIdentifier){ conn => conn})) match {
case true =>
val startDate = System.currentTimeMillis()
val commitId: String = APIUtil.gitCommit
var isSuccessful = false
val executedSql =
DbFunction.maybeWrite(true, Schemifier.infoF _, DB.use(DefaultConnectionIdentifier){ conn => conn}) {
APIUtil.getPropsValue("db.driver") match {
case Full(value) if value.contains("com.microsoft.sqlserver.jdbc.SQLServerDriver") =>
() =>
s"""
|ALTER TABLE mapperaccountholders ADD COLUMN IF NOT EXISTS "source" character varchar(255);
|""".stripMargin
case _ =>
() =>
s"""
|ALTER TABLE mapperaccountholders ADD COLUMN IF NOT EXISTS "source" character varying(255);
|""".stripMargin
}
}
val endDate = System.currentTimeMillis()
val comment: String =
s"""Executed SQL:
|$executedSql
|""".stripMargin
isSuccessful = true
saveLog(name, commitId, isSuccessful, startDate, endDate, comment)
isSuccessful
case false =>
val startDate = System.currentTimeMillis()
val commitId: String = APIUtil.gitCommit
val isSuccessful = false
val endDate = System.currentTimeMillis()
val comment: String =
s"""${MapperAccountHolders._dbTableNameLC} table does not exist""".stripMargin
saveLog(name, commitId, isSuccessful, startDate, endDate, comment)
isSuccessful
}
}
}