Coverage Report - liquibase.sqlgenerator.core.CreateDatabaseChangeLogTableGenerator
 
Classes in this File Line Coverage Branch Coverage Complexity
CreateDatabaseChangeLogTableGenerator
16%
1/6
0%
0/2
1
 
 1  
 package liquibase.sqlgenerator.core;
 2  
 
 3  
 import liquibase.database.Database;
 4  
 import liquibase.database.core.SybaseDatabase;
 5  
 import liquibase.database.typeconversion.TypeConverter;
 6  
 import liquibase.database.typeconversion.TypeConverterFactory;
 7  
 import liquibase.exception.ValidationErrors;
 8  
 import liquibase.sql.Sql;
 9  
 import liquibase.sqlgenerator.SqlGenerator;
 10  
 import liquibase.sqlgenerator.SqlGeneratorChain;
 11  
 import liquibase.sqlgenerator.SqlGeneratorFactory;
 12  
 import liquibase.statement.NotNullConstraint;
 13  
 import liquibase.statement.core.CreateDatabaseChangeLogTableStatement;
 14  
 import liquibase.statement.core.CreateTableStatement;
 15  
 
 16  10
 public class CreateDatabaseChangeLogTableGenerator extends AbstractSqlGenerator<CreateDatabaseChangeLogTableStatement> {
 17  
 
 18  
     @Override
 19  
     public boolean supports(CreateDatabaseChangeLogTableStatement statement, Database database) {
 20  0
         return (!(database instanceof SybaseDatabase));
 21  
     }
 22  
 
 23  
     public ValidationErrors validate(CreateDatabaseChangeLogTableStatement statement, Database database,
 24  
             SqlGeneratorChain sqlGeneratorChain) {
 25  0
         return new ValidationErrors();
 26  
     }
 27  
 
 28  
     public Sql[] generateSql(CreateDatabaseChangeLogTableStatement statement, Database database,
 29  
             SqlGeneratorChain sqlGeneratorChain) {
 30  0
         TypeConverter typeConverter = TypeConverterFactory.getInstance().findTypeConverter(database);
 31  0
         CreateTableStatement createTableStatement = new CreateTableStatement(database.getLiquibaseSchemaName(),
 32  
                 database.getDatabaseChangeLogTableName())
 33  
                 .addPrimaryKeyColumn("ID", typeConverter.getDataType("VARCHAR(63)", false), null, null, null,
 34  
                         new NotNullConstraint())
 35  
                 .addPrimaryKeyColumn("AUTHOR", typeConverter.getDataType("VARCHAR(63)", false), null, null, null,
 36  
                         new NotNullConstraint())
 37  
                 .addPrimaryKeyColumn("FILENAME", typeConverter.getDataType("VARCHAR(200)", false), null, null, null,
 38  
                         new NotNullConstraint())
 39  
                 .addColumn("DATEEXECUTED", typeConverter.getDateTimeType(), null, new NotNullConstraint())
 40  
                 .addColumn("ORDEREXECUTED", typeConverter.getDataType("INT", false), new NotNullConstraint())
 41  
                 .addColumn("EXECTYPE", typeConverter.getDataType("VARCHAR(10)", false), new NotNullConstraint())
 42  
                 .addColumn("MD5SUM", typeConverter.getDataType("VARCHAR(35)", false))
 43  
                 .addColumn("DESCRIPTION", typeConverter.getDataType("VARCHAR(255)", false))
 44  
                 .addColumn("COMMENTS", typeConverter.getDataType("VARCHAR(255)", false))
 45  
                 .addColumn("TAG", typeConverter.getDataType("VARCHAR(255)", false))
 46  
                 .addColumn("LIQUIBASE", typeConverter.getDataType("VARCHAR(20)", false));
 47  
 
 48  0
         return SqlGeneratorFactory.getInstance().generateSql(createTableStatement, database);
 49  
     }
 50  
 }