com.netgrif.application.engine.migration.MigrationOrderedCommandLineRunner.groovy Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of application-engine Show documentation
Show all versions of application-engine Show documentation
System provides workflow management functions including user, role and data management.
package com.netgrif.application.engine.migration
import com.netgrif.application.engine.petrinet.service.interfaces.IPetriNetService
import com.netgrif.application.engine.startup.AbstractOrderedCommandLineRunner
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.stereotype.Component
@Component
abstract class MigrationOrderedCommandLineRunner extends AbstractOrderedCommandLineRunner {
private static final Logger log = LoggerFactory.getLogger(MigrationOrderedCommandLineRunner)
private String title = this.class.simpleName
@Autowired
private MigrationRepository repository
@Autowired
private IPetriNetService service
@Override
void run(String... strings) throws Exception {
if (repository.existsByTitle(title)) {
log.info("Migration ${title} was already applied")
return
}
log.info("Applying migration ${title}")
migrate()
repository.save(new Migration(title))
service.evictAllCaches()
log.info("Migration ${title} applied")
}
abstract void migrate()
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy