提交 81e61a51 编写于 作者: T tijsrademakers

MySQL specific type converter

上级 237c48c0
package org.activiti.engine.impl.db;
import liquibase.database.structure.type.BlobType;
import liquibase.database.structure.type.BooleanType;
import liquibase.database.structure.type.DataType;
import liquibase.database.structure.type.DateTimeType;
import liquibase.database.structure.type.IntType;
import liquibase.database.structure.type.NVarcharType;
import liquibase.database.structure.type.VarcharType;
import liquibase.database.typeconversion.core.MySQLTypeConverter;
public class ActivitiMySQLTypeConverter extends MySQLTypeConverter {
@Override
public int getPriority() {
return PRIORITY_DATABASE + 1;
}
@Override
protected DataType getDataType(final String columnTypeString,
final Boolean autoIncrement, final String dataTypeName,
final String precision, final String additionalInformation) {
DataType dataType = super.getDataType(columnTypeString, autoIncrement,
dataTypeName, precision, additionalInformation);
if (dataType instanceof NVarcharType) {
dataType = new VarcharType();
dataType.setFirstParameter(precision);
}
return dataType;
}
@Override
public BooleanType getBooleanType() {
return new BooleanType("TINYINT");
}
@Override
public IntType getIntType() {
return new IntType("integer");
}
@Override
public DateTimeType getDateTimeType() {
return new DateTimeType("datetime");
}
@Override
public BlobType getBlobType() {
return new BlobType("LONGBLOB");
}
}
......@@ -103,6 +103,7 @@ public class DbSqlSessionFactory implements SessionFactory {
addDatabaseSpecificStatement("mssql", "selectExclusiveJobsToExecute", "selectExclusiveJobsToExecute_integerBoolean");
TypeConverterFactory.getInstance().register(new ActivitiDb2TypeConverter());
TypeConverterFactory.getInstance().register(new ActivitiMySQLTypeConverter());
TypeConverterFactory.getInstance().register(new ActivitiOracleTypeConverter());
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册