Skip to content
Snippets Groups Projects
Commit a165288a authored by Robert Goldmann's avatar Robert Goldmann
Browse files

#663 - only reset sequences for postgresql

parent e8fe12e9
Branches
Tags
No related merge requests found
......@@ -14,6 +14,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DatabaseMigratorMain implements CommandLineRunner
{
public static DatabaseType databaseType;
private static final Logger LOGGER = LoggerFactory.getLogger(DatabaseMigratorMain.class);
private final JobLauncher jobLauncher;
......@@ -48,6 +50,8 @@ public class DatabaseMigratorMain implements CommandLineRunner
LOGGER.debug("{}={}", option.getName(), cmd.getOptionValue(option.getName()));
}
databaseType = DatabaseType.fromDriverClassName(cmd.getOptionValue(CommandLineOptions.DESTINATION_DRIVER_CLASS_NAME.getName()));
SpringApplication.run(DatabaseMigratorMain.class, args);
}
......
package de.deadlocker8.budgetmaster.databasemigrator;
public enum DatabaseType
{
POSTGRESQL("org.postgresql.Driver"),
MARIADB( "org.mariadb.jdbc.Driver");
private final String driverClassName;
DatabaseType(String driverClassName)
{
this.driverClassName = driverClassName;
}
public String getDriverClassName()
{
return driverClassName;
}
public static DatabaseType fromDriverClassName(String driverClassName)
{
for(DatabaseType type : values())
{
if(type.getDriverClassName().equalsIgnoreCase(driverClassName))
{
return type;
}
}
return null;
}
}
\ No newline at end of file
package de.deadlocker8.budgetmaster.databasemigrator.listener;
import de.deadlocker8.budgetmaster.databasemigrator.DatabaseMigratorMain;
import de.deadlocker8.budgetmaster.databasemigrator.DatabaseType;
import de.deadlocker8.budgetmaster.databasemigrator.Utils;
import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationIntegerRepository;
import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationRepository;
......@@ -37,7 +39,7 @@ public class GenericStepListener<T extends ProvidesID, ID> implements StepExecut
LOGGER.info("\n");
LOGGER.info(">>> Migrate {}s...", tableName);
if(adjustSequence)
if(adjustSequence && DatabaseMigratorMain.databaseType.equals(DatabaseType.POSTGRESQL))
{
LOGGER.debug("Resetting sequence to 0");
jdbcTemplate.update(MessageFormat.format("ALTER SEQUENCE {0}_id_seq RESTART WITH 1", tableName));
......@@ -50,7 +52,7 @@ public class GenericStepListener<T extends ProvidesID, ID> implements StepExecut
final int count = Utils.getCommitCount(stepExecution);
LOGGER.info(">>> Successfully migrated {} {}s\n", count, tableName);
if(adjustSequence)
if(adjustSequence && DatabaseMigratorMain.databaseType.equals(DatabaseType.POSTGRESQL))
{
final int highestUsedID = getHighestUsedID();
final int newSequence = highestUsedID + 1;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment