Class DatabaseSchemaUpdatePopulator

java.lang.Object
ubic.gemma.persistence.initialization.DatabaseSchemaUpdatePopulator
All Implemented Interfaces:
org.springframework.jdbc.datasource.init.DatabasePopulator

public class DatabaseSchemaUpdatePopulator extends Object implements org.springframework.jdbc.datasource.init.DatabasePopulator
Populates an existing database with any incremental schema changes implied by the current Hibernate mapping.

The Hibernate 4 implementation used org.hibernate.tool.hbm2ddl.DatabaseMetadata and SchemaUpdateScript, both removed in Hibernate 5 in favour of the new SchemaManagementTool-based metadata model. Phase 2 also moved Spring wiring from a LocalSessionFactoryBean (whose Configuration was the old constructor arg here) to a JPA LocalContainerEntityManagerFactoryBean, so the Configuration arg is gone too.

This class is currently a no-op stub on the renovations branch; production deployments rely on the versioned scripts under gemma-core/src/main/resources/sql/migrations/ (applied manually by the DBA) rather than this populator. Reinstating automatic schema updates is future work — likely Flyway (see RENOVATIONS.md).

  • Constructor Details

    • DatabaseSchemaUpdatePopulator

      public DatabaseSchemaUpdatePopulator(String vendor)
  • Method Details

    • populate

      public void populate(Connection connection)
      Specified by:
      populate in interface org.springframework.jdbc.datasource.init.DatabasePopulator