[ 
https://issues.apache.org/jira/browse/ISIS-1471?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15383975#comment-15383975
 ] 

Dan Haywood edited comment on ISIS-1471 at 7/19/16 11:25 AM:
-------------------------------------------------------------

Oscar wrote:


Hi, Jeroen.

Nice to know you drop the constraints when upgrading.

I’ve also noticed that they get duplicated. Seems DN does not detect they’re 
already created and re-create them.
In my case the db is PostgreSQL. As you’re using MS SQL Server in Estatio, 
seems it can be a generic issue.

It’s strange DN does not have addressed it. 

Please, confirm me if that’s the issue causing you to delete the constraints 
and I would create a issue in the DN ticketing system.


Thanks,

Oscar



was (Author: danhaywood):
Oscar:
Hi, Jeroen.

Nice to know you drop the constraints when upgrading.

I’ve also noticed that they get duplicated. Seems DN does not detect they’re 
already created and re-create them.
In my case the db is PostgreSQL. As you’re using MS SQL Server in Estatio, 
seems it can be a generic issue.

It’s strange DN does not have addressed it. 

Please, confirm me if that’s the issue causing you to delete the constraints 
and I would create a issue in the DN ticketing system.


Thanks,

Oscar


> Integrate Flyway or Liquibase or something similar
> --------------------------------------------------
>
>                 Key: ISIS-1471
>                 URL: https://issues.apache.org/jira/browse/ISIS-1471
>             Project: Isis
>          Issue Type: New Feature
>          Components: Core
>    Affects Versions: 1.13.0
>            Reporter: Dan Haywood
>            Assignee: Dan Haywood
>             Fix For: 1.14.0
>
>
> from Kambiz:
> Hi,
> in our non-Isis projects, we use FlyWay [1] for DB migrations and I
> would like to integrate it into our Isis workflow. The simplest path to
> do so would be a DomainService with a PostConstruct annotated init
> method:
> @PostConstruct
> public void init(final Map<String, String> properties) {
>     Flyway flyway = new Flyway();
>     // Point it to the database
>     String jdbcUrl = 
> properties.get("isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL");
>     String user = 
> properties.get("isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName");
>     String password = 
> properties.get("isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword");
>     flyway.setDataSource(jdbcUrl, user, password);
>     flyway.setLocations("classpath:db/migrations");
>     // Start the migration
>     flyway.migrate();
> }
> but this isn't a viable solution, as IsisSessionFactoryBuilder's
> buildSessionFactory() method initialises the DataNucleus (DN)
> PersistenceSessionFactory before the services are constructed [2].
> So DN has already found the mismatch between the JDO annotations and the
> database before we enter the init method of our DB migration
> bootstrap/seed service.
> I could contribute a patch, if someone could hint on the preferred way
> of implementing the functionality.
> Thank you
> Kambiz
> [1] https://flywaydb.org/
> [2] 
> https://github.com/apache/isis/blob/master/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryBuilder.java#L184



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to