From: <udi...@us...> - 2022-02-17 17:29:04
|
Revision: 1439 http://sourceforge.net/p/j-trac/code/1439 Author: udittmer Date: 2022-02-17 17:29:02 +0000 (Thu, 17 Feb 2022) Log Message: ----------- create and initialize new attributes automatically Modified Paths: -------------- trunk/jtrac/src/main/java/info/jtrac/hibernate/HibernateJtracDao.java Modified: trunk/jtrac/src/main/java/info/jtrac/hibernate/HibernateJtracDao.java =================================================================== --- trunk/jtrac/src/main/java/info/jtrac/hibernate/HibernateJtracDao.java 2022-02-16 13:52:35 UTC (rev 1438) +++ trunk/jtrac/src/main/java/info/jtrac/hibernate/HibernateJtracDao.java 2022-02-17 17:29:02 UTC (rev 1439) @@ -540,15 +540,15 @@ } //========================================================================== - + /** - * note that this is automatically configured to run on startup - * as a spring bean "init-method" + * note that this is automatically configured to run on startup as a spring bean "init-method" */ public void createSchema() { try { getHibernateTemplate().find("from Item item where item.id = 1"); - logger.info("database schema exists, normal startup"); + logger.info("database schema exists, normal startup with updating the schema, if necessary"); + schemaHelper.createSchema(); } catch (Exception e) { logger.warn("expected database schema does not exist, will create. Error is: " + e.getMessage()); schemaHelper.createSchema(); @@ -562,6 +562,11 @@ storeUser(admin); logger.info("schema creation complete"); } + + // default values for new attributes; haven't found a way to set default values when Hibernate creates these + getHibernateTemplate().bulkUpdate("update Space space set space.isActive = true where space.isActive is null"); + getHibernateTemplate().bulkUpdate("update StoredSearch search set search.newWindow = true where search.newWindow is null"); + List<SpaceSequence> ssList = getHibernateTemplate().loadAll(SpaceSequence.class); Map<Long, SpaceSequence> ssMap = new HashMap<Long, SpaceSequence>(ssList.size()); for(SpaceSequence ss : ssList) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |