You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Ryan Connolly <ry...@gmail.com> on 2009/04/23 17:58:04 UTC

Plugins for Database Change Management?

Hi All:
     I was hoping someone out there in maven-users land would have
some insight into how to manage database changes in a team environment
that utilizes a dev db, a beta db used by apps built via continuous
integration, a release candidate db, and a production db.  I have
looked briefly at liquibase as it is the only thing I've been able to
find that does anything close to what we need for db change management
but I'm running into a few issues with this.  What do others use to
manage db changes?  I would be interested mostly in solutions that
could be used in a continuous integration environment and am eager to
learn what others know about this subject.

Thanks in advance!

-Ryan

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: Plugins for Database Change Management?

Posted by Kalle Korhonen <ka...@gmail.com>.
My standard formula for dev and ci is to use an in-memory hsqldb that is
auto-seeded in an object-oriented way at start up. For updating production
databases I rely on a mixture of Hibernate update and custom code similar to
auto-seeding (in case datatypes/values need to be transformed). For the
latter, I have a staged production system that database related updates are
installed on first and then the integration test suite is run against it
(that's a semi-automatic process after staging a release). If that succeeds,
assumption is it's ok to accept the release and update production.

Kalle


On Thu, Apr 23, 2009 at 8:58 AM, Ryan Connolly <ry...@gmail.com> wrote:

> Hi All:
>     I was hoping someone out there in maven-users land would have
> some insight into how to manage database changes in a team environment
> that utilizes a dev db, a beta db used by apps built via continuous
> integration, a release candidate db, and a production db.  I have
> looked briefly at liquibase as it is the only thing I've been able to
> find that does anything close to what we need for db change management
> but I'm running into a few issues with this.  What do others use to
> manage db changes?  I would be interested mostly in solutions that
> could be used in a continuous integration environment and am eager to
> learn what others know about this subject.
>
> Thanks in advance!
>
> -Ryan
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>

Re: Plugins for Database Change Management?

Posted by Ryan Connolly <ry...@gmail.com>.
Jeff, thanks alot for sharing this with me... at first glance it looks
like a viable solution that just may work for us... The only thing I
would be wary of in this situation would be that all of the migration
scripts would be database dependent because of the various syntaxes.
Liquibase uses XML so that the changes become portable so I'm going to
have to do some thinking on this.  How long have you guys been using
this and is there anything I should be aware of before evaluating this
plugin?

Thanks again!

On Thu, Apr 23, 2009 at 5:33 PM, Jeff Maxwell <je...@gmail.com> wrote:
>
> We use the carbon five plug-in: http://code.google.com/p/c5-db-migration/
> http://code.google.com/p/c5-db-migration/
>
> -- Each module stores its migration scripts in src/main/db/migrations
> -- The migration is performed during process-test-resources phase. (This
> will vary depending on your needs)
> -- A Hudson CI server kicks off the updates
>
> Parent POM
> <pluginmanagement>
>  <plugins>
>        <plugin>
>          <groupId>com.carbonfive</groupId>
>          <artifactId>db-migration-maven-plugin</artifactId>
>          <version>0.9.7</version>
>          <configuration>
>            <url>${db-migration-maven-plugin.url}</url>
>            <username>${db-migration-maven-plugin.username}</username>
>            <password>${db-migration-maven-plugin.password}</password>
>            <goalPrefix>db-migration</goalPrefix>
>          </configuration>
>          <dependencies>
>            <dependency>
>              <groupId>com.oracle</groupId>
>              <artifactId>ojdbc14</artifactId>
>              <version>${oracle.ojdbc14}</version>
>            </dependency>
>          </dependencies>
>        </plugin>
>  </plugins>
> </pluginmanagement>
>
> Module Pom
> <plugins>
>  <build>
>      <plugin>
>        <groupId>com.carbonfive</groupId>
>        <artifactId>db-migration-maven-plugin</artifactId>
>        <executions>
>          <execution>
>            <id>db-migration</id>
>            <phase>generate-test-resources</phase>
>            <goals>
>              <goal>migrate</goal>
>            </goals>
>          </execution>
>        </executions>
>      </plugin>
>    </plugins>
>  </build>
>
>
> Ryan Connolly wrote:
>>
>> Hi All:
>>      I was hoping someone out there in maven-users land would have
>> some insight into how to manage database changes in a team environment
>> that utilizes a dev db, a beta db used by apps built via continuous
>> integration, a release candidate db, and a production db.  I have
>> looked briefly at liquibase as it is the only thing I've been able to
>> find that does anything close to what we need for db change management
>> but I'm running into a few issues with this.  What do others use to
>> manage db changes?  I would be interested mostly in solutions that
>> could be used in a continuous integration environment and am eager to
>> learn what others know about this subject.
>>
>> Thanks in advance!
>>
>> -Ryan
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>> For additional commands, e-mail: users-help@maven.apache.org
>>
>>
>>
>
> --
> View this message in context: http://n2.nabble.com/Plugins-for-Database-Change-Management--tp2684131p2686832.html
> Sent from the maven users mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>



-- 
®¥@N

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: Plugins for Database Change Management?

Posted by Jeff Maxwell <je...@gmail.com>.
We use the carbon five plug-in: http://code.google.com/p/c5-db-migration/
http://code.google.com/p/c5-db-migration/ 

-- Each module stores its migration scripts in src/main/db/migrations
-- The migration is performed during process-test-resources phase. (This
will vary depending on your needs)
-- A Hudson CI server kicks off the updates

Parent POM
<pluginmanagement>
  <plugins>
        <plugin>
          <groupId>com.carbonfive</groupId>
          <artifactId>db-migration-maven-plugin</artifactId>
          <version>0.9.7</version>
          <configuration>
            <url>${db-migration-maven-plugin.url}</url>
            <username>${db-migration-maven-plugin.username}</username>
            <password>${db-migration-maven-plugin.password}</password>
            <goalPrefix>db-migration</goalPrefix>
          </configuration>
          <dependencies>
            <dependency>
              <groupId>com.oracle</groupId>
              <artifactId>ojdbc14</artifactId>
              <version>${oracle.ojdbc14}</version>
            </dependency>
          </dependencies>
        </plugin>
  </plugins>
</pluginmanagement>

Module Pom
<plugins>
  <build>
      <plugin>
        <groupId>com.carbonfive</groupId>
        <artifactId>db-migration-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>db-migration</id>
            <phase>generate-test-resources</phase>
            <goals>
              <goal>migrate</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>


Ryan Connolly wrote:
> 
> Hi All:
>      I was hoping someone out there in maven-users land would have
> some insight into how to manage database changes in a team environment
> that utilizes a dev db, a beta db used by apps built via continuous
> integration, a release candidate db, and a production db.  I have
> looked briefly at liquibase as it is the only thing I've been able to
> find that does anything close to what we need for db change management
> but I'm running into a few issues with this.  What do others use to
> manage db changes?  I would be interested mostly in solutions that
> could be used in a continuous integration environment and am eager to
> learn what others know about this subject.
> 
> Thanks in advance!
> 
> -Ryan
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
> 
> 
> 

-- 
View this message in context: http://n2.nabble.com/Plugins-for-Database-Change-Management--tp2684131p2686832.html
Sent from the maven users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org