The following liquibase changeset does not work as expected

```xml
        <createTable tableName="test">
            <column name="id" type="SERIAL">
                <constraints nullable="false" primaryKey="true"/>
            </column>
        </createTable>
```

This changeset results in sql

```sql
CREATE TABLE test (id INTEGER NOT NULL, CONSTRAINT TEST_PKEY PRIMARY KEY (id));
```

In liquibase 3.6.3 and earlier the type `SERIAL` was used for the column which means that a sequence is automatically included.

This issue seems to be caused by #874
It appears that SERIAL columns are replaced by INT, however liquibase does reconize that this column type is an auto increment column.

It would be acceptible if the generated sql would be

```sql
CREATE TABLE test (id INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL, CONSTRAINT TEST_PKEY PRIMARY KEY (id));
```


}
        DatabaseDataType type;
        if (database instanceof MSSQLDatabase) {
            if ( (parameters.length >= 1) &&
                (this.getRawDefinition().matches("(?i)\\[?datetimeoffset\\]?.*")) &&
                (Integer.parseInt(parameters[0].toString()) ==
                    (database.getDefaultScaleForNativeDataType("datetimeoffset"))) ) {
                parameters = new Object[0];
            }
            type = new DatabaseDataType(database.escapeDataTypeName(getName()), parameters);
        } else {
            type = new DatabaseDataType(getName().toUpperCase(Locale.US), parameters);
        }
        type.addAdditionalInformation(getAdditionalInformation());
        return type;
    }
    @Override
    public String objectToSql(Object value, Database database) {
        if (value instanceof DatabaseFunction) {
            return super.objectToSql(value, database);
        } else {
            return "'"+super.objectToSql(value, database)+"'";
        }
    }
    @Override
    public LoadDataChange.LOAD_DATA_TYPE getLoadTypeName() {
        return LoadDataChange.LOAD_DATA_TYPE.STRING;
    }
}