On 16/04/2008, at 4:07 PM, Andrus Adamchik wrote:
On Apr 16, 2008, at 3:08 AM, Aristedes Maniatis wrote:
My only other comment here is that ant may not be the best tool for
deployed systems.
Let's elaborate on that a bit. I'd like to have a better
understanding of the scenarios we may be dealing with. I have two in
mind:
1. A group of developers works on the same project, each with his
own local copy of the DB. Each developer can introduce schema/data
changes as a part of coding. DBPatch would serve a purpose of
bringing all local DB's in sync with the state of the code on trunk.
2. After a cycle of development, a deployment is done to an existing
production database. DBPatch is run sometime after .war assembly
(assuming that's a web app), and before deploying the wars to the
server. Here the assumption is that a (remote) DB server is
accessible from the build machine.
3. The application is given to a customer and it automatically updates
the production database when it first runs.
What other scenarios I'm missing that won't allow using Ant? Shrink-
wrapped software? As for DBPatch specifically, the plan to code it
in such a way that Ant interface is simply a frontend to a Java
class that can be run standalone.
I see, so it isn't so much an ant task as a useful library which is
not specifically ant or Cayenne centric but works nicely alongside
either. The way we use this workflow is on server startup, after the
database is started, but before Cayenne's model is initialised. It is
built into the application itself. For us, that means both 1 and 3
above. I'd be interested in looking to see how DBPatch relates to what
we've already done. What is the URI of the sandbox?
Ari Maniatis
-------------------------->
ish
http://www.ish.com.au
Level 1, 30 Wilson Street Newtown 2042 Australia
phone +61 2 9550 5001 fax +61 2 9550 4001
GPG fingerprint CBFB 84B4 738D 4E87 5E5C 5EFA EF6A 7D2E 3E49 102A