github paulcwarren/spring-content 0.0.11
Version 0.0.11

latest releases: 3.0.9, 3.0.8, 3.0.7...
5 years ago

This release includes:-

  • Issue #33
  • Issue #22
  • All modules; now support Store and AssociativeStore experimental API
  • Spring Content JPA; moved to a model where @ContentId's are generated by the application (not by the database) in order to match the behavior of our other stores.

This has meant changing the type of the BLOBS table ID field from int to VARCHAR. In turn,this has had two backward-incompatible side-effects:

  1. Entities with @ContentId fields of type Long on Integer must be converted to String or UUID
  2. (SQL Server ONLY) Database schema must be manually updated.

The intention is always to make our schema files backward compatible and idempotent so that existing data is preserved and the scripts can be run at application start-up every time. However, with SQL Server it is not possible to modify columns of the type IDENTITY without dropping and re-creating. Whilst this is possible the SQL commands are not idempotent and, if included, would have meant different application configuration and start-up behavior for SQL Server. Given we are still pre v1.0 and given the early nature of our SQL Server support we opted to keep our schema file idempotent and ask our users to manually upgrade the database on this occasion. The following SQL statements may be used to upgrade you SQL Server to the new required schema:

ALTER TABLE BLOBS ADD temp_id int
UPDATE BLOBS SET temp_id = id
ALTER TABLE BLOBS DROP COLUMN id
ALTER TABLE BLOBS ADD id VARCHAR(36)
UPDATE BLOBS SET id=temp_id
ALTER TABLE BLOBS ALTER COLUMN id VARCHAR(36) NOT NULL
ALTER TABLE BLOBS ADD CONSTRAINT pk_id PRIMARY KEY (id)
ALTER TABLE BLOBS DROP COLUMN temp_id

The maven coordinates for this release are as follows:-

<dependency>
  <groupId>com.github.paulcwarren</groupId>
  <artifactId>spring-content-XXX-boot-starter</artifactId>
  <version>0.0.10</version>
</dependency>

where XXX can be:-

  • jpa for the Spring Content JPA Module
  • mongo for the Spring Content Mongo Module
  • fs for the Spring Content Filesystem Module
  • s3 for the Spring Content S3 Module
  • renditions for the Spring Content Renditions Module
  • rest for Spring Content REST Module
  • solr for the Spring Content Solr Module

Don't miss a new spring-content release

NewReleases is sending notifications on new releases.