提交 a5ddaa82 编写于 作者: T tijsrademakers

Added MSSQL liquibase converter

上级 53e813da
package org.activiti.engine.impl.db;
import liquibase.database.structure.type.BigIntType;
import liquibase.database.structure.type.BooleanType;
import liquibase.database.structure.type.DateTimeType;
import liquibase.database.structure.type.DoubleType;
import liquibase.database.structure.type.IntType;
import liquibase.database.typeconversion.core.MSSQLTypeConverter;
public class ActivitiMSSQLTypeConverter extends MSSQLTypeConverter {
@Override
public int getPriority() {
return PRIORITY_DATABASE + 1;
}
@Override
public BooleanType getBooleanType() {
return new BooleanType("tinyint");
}
@Override
public DateTimeType getDateTimeType() {
return new DateTimeType("datetime");
}
@Override
public IntType getIntType() {
return new IntType("int");
}
@Override
public BigIntType getBigIntType() {
return new BigIntType("numeric(19,0)");
}
@Override
public DoubleType getDoubleType() {
return new DoubleType("double precision");
}
}
package org.activiti.engine.impl.db;
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.Postgres83TypeConverter;
public class ActivitiPostgres83TypeConverter extends Postgres83TypeConverter {
@Override
public int getPriority() {
return super.getPriority() + 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 IntType getIntType() {
return new IntType("integer");
}
@Override
public DateTimeType getDateTimeType() {
return new DateTimeType("TIMESTAMP");
}
}
package org.activiti.engine.impl.db;
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;
......@@ -10,7 +11,7 @@ public class ActivitiPostgresTypeConverter extends PostgresTypeConverter {
@Override
public int getPriority() {
return PRIORITY_DATABASE + 1;
return super.getPriority() + 1;
}
@Override
......@@ -31,4 +32,9 @@ public class ActivitiPostgresTypeConverter extends PostgresTypeConverter {
public IntType getIntType() {
return new IntType("integer");
}
@Override
public DateTimeType getDateTimeType() {
return new DateTimeType("TIMESTAMP");
}
}
......@@ -104,8 +104,10 @@ public class DbSqlSessionFactory implements SessionFactory {
TypeConverterFactory.getInstance().register(new ActivitiDb2TypeConverter());
TypeConverterFactory.getInstance().register(new ActivitiMySQLTypeConverter());
TypeConverterFactory.getInstance().register(new ActivitiMSSQLTypeConverter());
TypeConverterFactory.getInstance().register(new ActivitiOracleTypeConverter());
TypeConverterFactory.getInstance().register(new ActivitiPostgresTypeConverter());
TypeConverterFactory.getInstance().register(new ActivitiPostgres83TypeConverter());
}
protected String databaseType;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册