public SqlStatement[] generateStatements(Database database) {
if (database instanceof PostgresDatabase) {
String sequenceName = (getTableName() + "_" + getColumnName() + "_seq").toLowerCase();
return new SqlStatement[]{
new CreateSequenceStatement(catalogName, schemaName, sequenceName),
new SetNullableStatement(catalogName, schemaName, getTableName(), getColumnName(), null, false),
new AddDefaultValueStatement(catalogName, schemaName, getTableName(), getColumnName(), getColumnDataType(), new SequenceNextValueFunction(sequenceName)),
};
}
return new SqlStatement[]{new AddAutoIncrementStatement(getCatalogName(), getSchemaName(), getTableName(), getColumnName(), getColumnDataType(), getStartWith(), getIncrementBy())};