类 MysqlStrategy
java.lang.Object
org.dromara.autotable.core.strategy.mysql.MysqlStrategy
- 所有已实现的接口:
IStrategy<MysqlTableMetadata,MysqlCompareTableInfo>
public class MysqlStrategy
extends Object
implements IStrategy<MysqlTableMetadata,MysqlCompareTableInfo>
项目启动时自动扫描配置的目录中的model,根据配置的规则自动创建或更新表 该逻辑只适用于mysql,其他数据库尚且需要另外扩展,因为sql的语法不同
- 版本:
- 2019/07/06
- 作者:
- sunchenbin, Spet
-
字段概要
字段 -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明@NonNull MysqlTableMetadataanalyseClass(Class<?> beanClass) private voidcompareColumns(MysqlTableMetadata mysqlTableMetadata, String tableName, MysqlCompareTableInfo mysqlCompareTableInfo) 对比列的不同private voidcompareIndexes(MysqlTableMetadata mysqlTableMetadata, MysqlCompareTableInfo mysqlCompareTableInfo, Map<String, List<InformationSchemaStatistics>> tableIndexes) private static voidcomparePrimary(MysqlTableMetadata mysqlTableMetadata, MysqlCompareTableInfo mysqlCompareTableInfo, List<InformationSchemaStatistics> tablePrimaries) @NonNull MysqlCompareTableInfocompareTable(MysqlTableMetadata tableMetadata) private static voidcompareTableProperties(MysqlTableMetadata mysqlTableMetadata, InformationSchemaTable tableInformation, MysqlCompareTableInfo mysqlCompareTableInfo) createTable(MysqlTableMetadata tableMetadata) private static booleanisCharsetChanged(InformationSchemaColumn informationSchemaColumn, MysqlColumnMetadata mysqlColumnMetadata) private static booleanisCommentChanged(InformationSchemaColumn informationSchemaColumn, MysqlColumnMetadata mysqlColumnMetadata) private static booleanisDefaultValueChanged(InformationSchemaColumn informationSchemaColumn, MysqlColumnMetadata mysqlColumnMetadata) private static booleanisFieldTypeChanged(InformationSchemaColumn informationSchemaColumn, MysqlColumnMetadata mysqlColumnMetadata) 字段类型比对是否需要改变modifyTable(MysqlCompareTableInfo mysqlCompareTableInfo) 从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait从接口继承的方法 org.dromara.autotable.core.strategy.IStrategy
checkTableNotExist, createMode, createTable, executeCreateTable, executeSql, start, start, updateMode, validateMode
-
字段详细资料
-
mapper
-
-
构造器详细资料
-
MysqlStrategy
public MysqlStrategy()
-
-
方法详细资料
-
databaseDialect
-
typeMapping
-
dropTable
-
analyseClass
-
createTable
-
compareTable
-
modifyTable
-
compareIndexes
private void compareIndexes(MysqlTableMetadata mysqlTableMetadata, MysqlCompareTableInfo mysqlCompareTableInfo, Map<String, List<InformationSchemaStatistics>> tableIndexes) -
comparePrimary
private static void comparePrimary(MysqlTableMetadata mysqlTableMetadata, MysqlCompareTableInfo mysqlCompareTableInfo, List<InformationSchemaStatistics> tablePrimaries) -
compareColumns
private void compareColumns(MysqlTableMetadata mysqlTableMetadata, String tableName, MysqlCompareTableInfo mysqlCompareTableInfo) 对比列的不同 -
isCharsetChanged
private static boolean isCharsetChanged(InformationSchemaColumn informationSchemaColumn, MysqlColumnMetadata mysqlColumnMetadata) -
isDefaultValueChanged
private static boolean isDefaultValueChanged(InformationSchemaColumn informationSchemaColumn, MysqlColumnMetadata mysqlColumnMetadata) -
isFieldTypeChanged
private static boolean isFieldTypeChanged(InformationSchemaColumn informationSchemaColumn, MysqlColumnMetadata mysqlColumnMetadata) 字段类型比对是否需要改变 -
isCommentChanged
private static boolean isCommentChanged(InformationSchemaColumn informationSchemaColumn, MysqlColumnMetadata mysqlColumnMetadata) -
compareTableProperties
private static void compareTableProperties(MysqlTableMetadata mysqlTableMetadata, InformationSchemaTable tableInformation, MysqlCompareTableInfo mysqlCompareTableInfo)
-