Represents a updater class in Grails.
| Type | Name and description |
|---|---|
void |
afterBootStrap()BootStrap 后 |
void |
beforeBootStrap()BootStrap 前 |
void |
beforeDbUpdate(groovy.sql.Sql sqlInst, String dsName, String dbName, String dbSchema)更新数据库表结构前 |
String |
formatVersion(String ver)格式化一个版本号,返回格式同 getVersion 的字符串,以便比较 |
String |
getDescription()升级说明 |
String |
getLastVersion()上次成功升级的版本号,判断依据为 afterBootStrap 执行成功;格式同 getVersion |
String |
getLastVersion(String event)上次成功升级的版本号 |
String |
getOriginalVersion()升级器中定义的版本号(不受方法 setVersion 的影响) |
String |
getPluginName()所属插件,默认为 app_应用名,即不属于任何插件 |
String |
getVersion()版本号 |
boolean |
isInitiator()是否是初始化版本:每个插件只能有一个 |
void |
setLastVersions(Map<String, String> lastVers)设置上次成功升级的版本号 |
void |
setVersion(String version)设置版本号,设为 -1 则禁用 |
| Methods inherited from class | Name |
|---|---|
interface grails.core.GrailsClass |
grails.core.GrailsClass#getMetaClass(), grails.core.GrailsClass#getPluginName(), grails.core.GrailsClass#getNaturalName(), grails.core.GrailsClass#getFullName(), grails.core.GrailsClass#getGrailsApplication(), grails.core.GrailsClass#getClazz(), grails.core.GrailsClass#getApplication(), grails.core.GrailsClass#getReferenceInstance(), grails.core.GrailsClass#getLogicalPropertyName(), grails.core.GrailsClass#getShortName(), grails.core.GrailsClass#getReference(), grails.core.GrailsClass#getPropertyName(), grails.core.GrailsClass#getPropertyValue(String), grails.core.GrailsClass#getPropertyValue(String, Class), grails.core.GrailsClass#hasProperty(String), grails.core.GrailsClass#getName(), grails.core.GrailsClass#newInstance(), grails.core.GrailsClass#isAbstract(), grails.core.GrailsClass#getPackageName(), grails.core.GrailsClass#setGrailsApplication(grails.core.GrailsApplication) |
class Object |
Object#wait(long, int), Object#wait(long), Object#wait(), Object#equals(Object), Object#toString(), Object#hashCode(), Object#getClass(), Object#notify(), Object#notifyAll() |
BootStrap 后
BootStrap 前
更新数据库表结构前
在更新器实例中,事件方法不包含 dsName 参数,但是可以包含多个 beforeDbUpdate 方法, 通过后缀来区分是执行那个数据源,如: beforeDbUpdate 表示更新默认数据源、beforeDbUpdate_xyz 表示更新名为 xyz 的数据源。
sqlInst - 已初始化的数据库连接,可用来执行sqldsName - 数据源名称,注意此时对应的 spring bean 还未注册dbName - 数据库名称,如 oracledbSchema - 数据库名,用于拼sql,如表名前缀:select * from schema.abc格式化一个版本号,返回格式同 getVersion 的字符串,以便比较
ver - 版本号升级说明
上次成功升级的版本号,判断依据为 afterBootStrap 执行成功;格式同 getVersion
上次成功升级的版本号
event - 事件名:beforeDbUpdate、beforeBootStrap、afterBootStrap升级器中定义的版本号(不受方法 setVersion 的影响)
所属插件,默认为 app_应用名,即不属于任何插件
版本号
是否是初始化版本:每个插件只能有一个
设置上次成功升级的版本号
lastVers - 版本号,其中 key 为事件名设置版本号,设为 -1 则禁用
version - 版本号