This was discussed here: http://markmail.org/thread/l456jfyeypotz6kd
TLDR; it was always the intention to use migrations but wasn't completed.

On 10/3/12 10:19 PM, "Rohit Yadav" <rohit.ya...@citrix.com> wrote:

>Hi John,
>
>For database upgrade/migration, in the release version there are
>migration paths defined in the code; for example in setup/db/db/,
>schema-302to40* etc.
>Maven (deploydb etc.) is only used for development where I think we
>generally don't deal with migration, we usually take/do fresh
>setup/installation.
>
>Flyway sounds interesting, added on the TODOs for Maven; database
>migration during development, just in case someone needs such a feature:
>https://cwiki.apache.org/confluence/display/CLOUDSTACK/Building+with+Maven
>#BuildingwithMaven-TODOs
>
>Regards.
>
>On 03-Oct-2012, at 5:25 PM, John Burwell <jburw...@basho.com> wrote:
>
>> Rohit,
>> 
>> Has their been any consideration given to shifting a migrations model
>>for database schema management?  In addition to providing deploydb
>>capability in Maven, it would also provide DRY schema management.
>>Migrations inherently support both clean database creation and arbitrary
>>schema upgrade from a single set of scripts.  Currently, schema changes
>>must be put in both the create_schema.sql and appropriate release
>>upgrade scripts.  I have used Flyway (http://code.google.com/p/flyway/)
>>in the past with great success.  In addition providing Maven
>>integration, it also provides an API that could used by
>>DatabaseUpgradeChecker.
>> 
>> Thanks,
>> -John
>> 
>> On Oct 3, 2012, at 1:55 AM, Rohit Yadav <rohit.ya...@citrix.com> wrote:
>> 
>>> Thanks Hugo!
>>> 
>>> On 02-Oct-2012, at 5:30 AM, Hugo Trippaers
>>><htrippa...@schubergphilis.com> wrote:
>>> 
>>>> Hey guys,
>>>> 
>>>> I'm working very hard to get the maven stuff working in the master
>>>>branch. I'll try not to disrupt the existing ant builds of master, but
>>>>sooner or later we need to go either left or right. For now I've
>>>>updated the page
>>>>https://cwiki.apache.org/confluence/display/CLOUDSTACK/Building+with+Ma
>>>>ven with instructions on how to use maven. If you feel there is
>>>>information missing or not clear, let me know and I'll try to update
>>>>it.
>>>> 
>>>> The short term goal is to have maven compile the code and build the
>>>>following artifacts:
>>>> 
>>>> *         Client.war (the management website including dependencies)
>>>> 
>>>> *         Usage.jar (executable jar for the usage server including
>>>>deps)
>>>> 
>>>> *         Awsapi.war (awsapi website including deps)
>>>> 
>>>> *         Systemvm.iso
>>>> 
>>>> *         Agent.zip
>>> 
>>> I'd added a TODOs sections for Maven:
>>>https://cwiki.apache.org/confluence/display/CLOUDSTACK/Building+with+Mav
>>>en#BuildingwithMaven-TODOs
>>> Let's update on that, to keep us updated asynchronously. And there are
>>>couple of bugs on JIRA as well.
>>> 
>>>> 
>>>> Next to this:
>>>> 
>>>> *         Developer support, deploydb, refreshdb, start debug server
>>> 
>>> For the developer workflow, why not move the plugins to top level pom
>>>under a profile? Right now I see they are in a profile already?
>>>Although, if we were to move db properties, assemblies etc, moving
>>>stuff into the developer/ makes sense.
>>> 
>>> I've some working in progress to use exec plugin to do some of the
>>>deploy db/server commands. After I deploy with ant, I was able to run
>>>the server using Jetty:
>>> 
>>>https://cwiki.apache.org/confluence/display/CLOUDSTACK/Building+with+Mav
>>>en#BuildingwithMaven-Runningaserverfortest%2Fdebugpurposes.
>>> 
>>> I'm still not able to configure/use the tomcat plugin correctly.
>>> 
>>> Also if you could you fix your editor to insert spaces instead of tabs
>>>as it distorts for me on vim. 2 spaces/1tab for .xmls :D
>>> 
>>>> If anyone wants to help feel free! Just testing, working with the
>>>>maven build and sending feedback will help enormously.
>>> 
>>> +1
>>> 
>>> Alright, can we now discuss the packaging strategy as well? Will we
>>>continue using waf+maven+ant hack or use maven plugins for packaging,
>>>or specs and control files for the purists? Deb packaging is working
>>>fine, just some resolvable issues. RPM was WIP, but I pre-empted that
>>>work after the discussion on IRC last week.
>>> 
>>> Okay, here are the pros and cons I can think of if we use packaging
>>>using maven plugins; (in the following package means deb or rpms)
>>> 
>>> Pros:
>>> - Each submodule/artifacts gets its own package
>>> - With this design, it's possible to develop, test and package each
>>>submodule individually
>>> - With this design, it's possible for a plugin developer and
>>>developers in general to just focus on their work and not be bothered
>>>by learning the build system, they can just drop in their code in
>>>plugins/ and not touch any other part of the source tree.
>>> - It's very fast, right now it takes 30-50 mins to test any
>>>build/source changes.
>>> - Variables in pom.xml can be imported dynamically in control/conf
>>>files using [[ ]] .
>>> 
>>> Cons:
>>> - I was told on IRC that build system folks and purists prefer their
>>>specs, control files.
>>> - I'm still to figure out how to expand variables like @SYSDIR@ in
>>>several .in scripts which are expanded by waf now. Exec plugin is one
>>>option.
>>> (Purists will still require waf or something to expand vars in these
>>>.in scripts before they can call rpm build or debuild)
>>> 
>>> Pl. add pros/cons you may think and let's decide based on build system
>>>maintainability, ease for developers.
>>> 
>>>> I know this work is happening parallel to the 4.0 release, but I
>>>>already planned to spend this week in the states with Edison to work
>>>>on this. None of the work we do will affect the 4.0 branch anyway.
>>> 
>>> +1 let's do this in parallel, without removing any ant build system
>>>parts for now, and do housekeeping only after we've a stable build
>>>system with maven. How about making rule that all build patches go
>>>though reviews, as build bugs become blockers.
>>> 
>>> Regards.
>>> 
>>>> 
>>>> Cheers,
>>>> 
>>>> Hugo
>>> 
>> 
>

Reply via email to