Class ProjectSchemaManager
-
- All Implemented Interfaces:
public class ProjectSchemaManagerProvides a convenient version management of common scenarios. wings.enabled.faceless.flywave=true
- Since:
2021-02-20
trydofor
-
-
Constructor Summary
Constructors Constructor Description ProjectSchemaManager(SchemaRevisionManager schemaRevisionManager)ProjectSchemaManager(SchemaRevisionManager schemaRevisionManager, boolean enableGui)
-
Method Summary
Modifier and Type Method Description final voidmergePublish(long revision, Array<Consumer<FlywaveRevisionScanner.Helper>> customize)For linear upgrade or downgrade. voidmergePublish(SortedMap<Long, SchemaRevisionManager.RevisionSql> sqls, long commitId, long revision)For linear upgrade or downgrade. final voidmergeBumping(long revision, Array<Consumer<FlywaveRevisionScanner.Helper>> customize)For linear upgrade or downgrade revision without executing scripts. voidmergeBumping(SortedMap<Long, SchemaRevisionManager.RevisionSql> sqls, long commitId, long revision)For linear upgrade or downgrade revision without executing scripts. final voidmergeForceApply(boolean isUpto, Array<Consumer<FlywaveRevisionScanner.Helper>> customize)voidmergeForceApply(SortedMap<Long, SchemaRevisionManager.RevisionSql> sqls, long commitId, boolean isUpto)To fix the breakpoint, first merge the script, then release the unapply merge-in version. voiddownThenMergePublish(SortedMap<Long, SchemaRevisionManager.RevisionSql> sqls, long commitId, Collection<Long> revision)To republish changes in downgrade script, sort version first, force downgrade in reverse order, merge scripts, and upgrade version in ascending order. voiddownThenMergePublish(SortedMap<Long, SchemaRevisionManager.RevisionSql> sqls, long commitId, Array<Long> revision)SchemaRevisionManagergetSchemaRevisionManager()-
-
Constructor Detail
-
ProjectSchemaManager
ProjectSchemaManager(SchemaRevisionManager schemaRevisionManager)
-
ProjectSchemaManager
ProjectSchemaManager(SchemaRevisionManager schemaRevisionManager, boolean enableGui)
-
-
Method Detail
-
mergePublish
@SafeVarargs() final void mergePublish(long revision, Array<Consumer<FlywaveRevisionScanner.Helper>> customize)
For linear upgrade or downgrade. using negative timestamp as commitId means manual execution.
- Parameters:
revision- revision to publish tocustomize- path helper
-
mergePublish
void mergePublish(SortedMap<Long, SchemaRevisionManager.RevisionSql> sqls, long commitId, long revision)
For linear upgrade or downgrade. (1) checkAndInitSql merge (insert or update) script; (2) publishRevision to the specified version. Note: If you downgrade and the downgrade script is updated, it may cause the downgrade to fail, then you should use downThenMergePublish
- Parameters:
sqls- revision scriptcommitId- commit idrevision- revision to publish to
-
mergeBumping
@SafeVarargs() final void mergeBumping(long revision, Array<Consumer<FlywaveRevisionScanner.Helper>> customize)
For linear upgrade or downgrade revision without executing scripts. (1) checkAndInitSql merge (insert or update) script; (2) bumpingRevision to the specified version.
- Parameters:
revision- revision to publish tocustomize- path helper
-
mergeBumping
void mergeBumping(SortedMap<Long, SchemaRevisionManager.RevisionSql> sqls, long commitId, long revision)
For linear upgrade or downgrade revision without executing scripts. (1) checkAndInitSql merge (insert or update) script; (2) bumpingRevision to the specified version.
- Parameters:
sqls- revision scriptcommitId- commit idrevision- revision to publish to
-
mergeForceApply
@SafeVarargs() final void mergeForceApply(boolean isUpto, Array<Consumer<FlywaveRevisionScanner.Helper>> customize)
-
mergeForceApply
void mergeForceApply(SortedMap<Long, SchemaRevisionManager.RevisionSql> sqls, long commitId, boolean isUpto)
To fix the breakpoint, first merge the script, then release the unapply merge-in version. (1) checkAndInitSql merge script; (2)forceApplyBreak merge-in script.
- Parameters:
sqls- revision scriptcommitId- commit id
-
downThenMergePublish
void downThenMergePublish(SortedMap<Long, SchemaRevisionManager.RevisionSql> sqls, long commitId, Collection<Long> revision)
To republish changes in downgrade script, sort version first, force downgrade in reverse order, merge scripts, and upgrade version in ascending order. (1) forceApplyBreak downgrade script; (2) checkAndInitSql merge; (3) publishRevision to specified version
- Parameters:
sqls- revision scriptcommitId- commit idrevision- revision to publish to
-
downThenMergePublish
void downThenMergePublish(SortedMap<Long, SchemaRevisionManager.RevisionSql> sqls, long commitId, Array<Long> revision)
-
getSchemaRevisionManager
SchemaRevisionManager getSchemaRevisionManager()
-
-
-
-