Hi, thanks. Will look for it. I am using IDEA, so no need for eclipse stuff ;-) Luckily there was an IDEA project in the repos. Will also migrate to the dev mail list soon....
I just checked out the whole stuff and loaded the project into IDEA. Will do the needed changes in DB2Database and then i will see how good the build system is set up :-) --- regards Marc Logemann http://www.logemann.org http://www.logentis.de Am 02.06.2009 um 18:21 schrieb Paul Keeble: > > Have a look through the history of liquibase-dev, I put up a couple > of posts about setting your environment up and where to find the > code etc. Don't know if it ever got moved into the Wiki after that > was added but it may prove useful. > > I also put a code formatter for settings in eclipse that closely > resemble the code bases defaults (which are not quite Sun spec) > which you'll want as well to stop eclipse from messing with the > imports etc and adding unnecessary changes. > > Paul K > > > ----- Original Message ---- > From: Marc Logemann <l...@logemann.org> > To: liquibase-user@lists.sourceforge.net > Sent: Tuesday, 2 June, 2009 16:37:40 > Subject: Re: [Liquibase-user] duplicate Key on Liq Table creation > > Thats what i thought about it too. I am just on the way creaing a > login in JIRA and checking out the 1.9 branch. Hopefully the build is > simple so that i can get up to speed quickly. > Need to get some other things done today ;-) > > --- > regards > Marc Logemann > http://www.logemann.org > http://www.logentis.de > > > > > Am 02.06.2009 um 17:32 schrieb Voxland, Nathan: > >> That's right. We truncate it for DB2 because there is a limit of 17 >> on >> PK names as I understand. We truncate them so that you don't get >> errors. >> >> What we should do is change the PK names for our tables to be >> smaller. >> PK_DBCHLOG and PK_DBCHLOGLOCK would probably be a better option. >> >> Nathan >> >> -----Original Message----- >> From: Marc Logemann [mailto:l...@logemann.org] >> Sent: Tuesday, June 02, 2009 10:28 AM >> To: liquibase-user@lists.sourceforge.net >> Subject: Re: [Liquibase-user] duplicate Key on Liq Table creation >> >> Not DB2 is truncating it. You are doing it in: >> >> >> DB2Database.class >> >> >> public String generatePrimaryKeyName(String tableName) { >> String pkName = super.generatePrimaryKeyName(tableName); >> if (pkName.length() > 18) { >> pkName = pkName.substring(0, 17); >> } >> return pkName; >> } >> >> >> This way we have two times the same name, because >> "PK_DATABASECHANGELOGLOCK" is truncated down to "PK_DATABASECHANGE", >> same goes for "PK_DATABASECHANGELOG", which also will be truncated to >> "PK_DATABASECHANGE". >> >> I wonder if this will work on DB2 UDB for Linux/Windows. >> >> --- >> regards >> Marc Logemann >> http://www.logemann.org >> http://www.logentis.de >> >> >> >> >> Am 02.06.2009 um 17:24 schrieb Voxland, Nathan: >> >>> Other databases have that problem too. I think the issue is actually >>> that our PK names are too long and db2 is truncating it down to a >>> non-unique version. Normally, I think it is PK_DATABASECHANGELOG >>> and >>> PK_DATABASECHANGELOGLOCK >>> >>> Nathan >>> >>> -----Original Message----- >>> From: Marc Logemann [mailto:l...@logemann.org] >>> Sent: Tuesday, June 02, 2009 9:25 AM >>> To: liquibase-user@lists.sourceforge.net >>> Subject: Re: [Liquibase-user] duplicate Key on Liq Table creation >>> >>> Thanks for the ramp-up infos. It would be very nice if you could >>> name >>> the key constraints differntly. On iSeries there will be an error >>> when >>> you create PK_DATABASECHANGE more than one time. On other DBs, the >>> name is ascociated with the table where the key is for, but not on >>> iSeries. There we have a common pool of names for all tables! >>> >>> --- >>> regards >>> Marc Logemann >>> http://www.logemann.org >>> http://www.logentis.de >>> >>> >>> >>> >>> Am 01.06.2009 um 22:40 schrieb Voxland, Nathan: >>> >>>> If you are interested in adding support, that would be great. The >>>> easiest way is to register on liquibase.jira.com, check out the >>>> code >>>> using your username/password, and commit what you need to change. >>>> We >>>> are >>>> experimenting with >>>> >>>> The state of the code right now, is that there are two major >>>> branches: >>>> /branches/1_9 and /trunk. Trunk is in the process of a major >>>> refactoring which will hopefully be done in about a month. While >>>> that >>>> would be the best place to add it, it may not be in the state to >>>> jump >>>> into adding new dialect support. >>>> >>>> Your best bet will probably be to check out /branches/1_9 and add >>>> it >>>> there. We can always merge the changes into trunk later on. You >>>> can >>>> take a look at any of the Database implementations (DB2Database may >>>> be a >>>> good starting point). There is an >>>> AbstractSampleChangeLogRunnerTest >>>> class you can extend as well to provide a good automated test of >>>> your >>>> new dialect. See DB2SampleChangeLogRunnerTest for an example. >>>> >>>> Let me know if you have any questions >>>> >>>> Nathan >>>> >>>> -----Original Message----- >>>> From: Marc Logemann [mailto:l...@logemann.org] >>>> Sent: Monday, June 01, 2009 7:30 AM >>>> To: liquibase-user@lists.sourceforge.net >>>> Subject: Re: [Liquibase-user] duplicate Key on Liq Table creation >>>> >>>> Hi, >>>> >>>> ok, replying to myself after some hours of investigation: >>>> >>>> 1) we need to define a new DB dialiect in Liquibase which is called >>>> "DB2 for iSeries". The DB2 on this platform, while mostly SQL level >>>> compliant has some quirks when it comes to MetaData handling. Its a >>>> different driver also which is used on this platform. I could start >>>> cloning the original DB2 and make some changes. With current >>>> version, >>>> Liquibase handles it like a normal DB2 DB because the proprietary >>>> product name (defined in driver) starts also with DB2 (DB2 UDB for >>>> iSeries). >>>> >>>> 2) my problem mentioned is there because of the call in >>>> AbstractDatabase.doesChangeLogLockTableExist() >>>> >>>> rs = >>>> connection >>>> .getMetaData >>>> ().getTables >>>> (convertRequestedSchemaToCatalog(getDefaultSchemaName()), >>>> convertRequestedSchemaToSchema(getDefaultSchemaName()), >>>> getDatabaseChangeLogLockTableName(), new String[]{"TABLE"}); >>>> >>>> just doesnt work. On DB2 for ISeries its a bad idea to supply >>>> "null" >>>> as schema name. It uses some user profile defaults to determine the >>>> default schema instead of just looking at some very prominent JDBC >>>> url >>>> parameters for the jt400 driver. >>>> >>>> The mother of all my problems is, that every call to getTables() >>>> just >>>> doesnt work or better, results in a result-set without any rows. So >>>> Liquibase thinks there are no tables. In my case he thinks that its >>>> DBCHANGELOG tables are not there, but they are. >>>> >>>> So as long as DB2 for iSeries is different in some ways (and to my >>>> knowledge, this will be the case for the time being), you have to >>>> handle it differently. This also applies for nearly ALL SQL clients >>>> available. I am using DBVisualizer which is really good but it also >>>> fails with some DB2 for iSeries thingies because of the non- >>>> existant >>>> DB2 abstraction for this platform. >>>> >>>> So i am willing to help out there and hope patches are appreciated. >>>> >>>> --- >>>> regards >>>> Marc Logemann >>>> http://www.logemann.org >>>> http://www.logentis.de >>>> >>>> >>>> >>>> >>>> Am 30.05.2009 um 00:41 schrieb Marc Logemann: >>>> >>>>> Hi, >>>>> >>>>> i am trying to use liquibase to bootstrap a complete DB schema, >>>>> thus i >>>>> dont have any tables. Only the schema. Normally Liquibase creates >>>>> its >>>>> two management tables and then runs the changeset. This works with >>>>> MySQL but with DB2 for iSeries, i am getting the following stack. >>>>> It >>>>> seems Liquibase use a Constraint names two times. Lquibase wants >>>>> to >>>>> create "PK_DATABASECHANGE" two times. >>>>> >>>>> java.sql.SQLException: [SQL0601] PK_DATABASECHANGE der Art * in >>>>> NETVERSYS2 bereits vorhanden. >>>>> at >>>>> com.ibm.as400.access.JDError.throwSQLException(JDError.java:650) >>>>> at >>>>> com.ibm.as400.access.JDError.throwSQLException(JDError.java:621) >>>>> at >>>>> com >>>>> .ibm >>>>> .as400 >>>>> .access.AS400JDBCStatement.commonPrepare(AS400JDBCStatement.java: >>>>> 1378) >>>>> at >>>>> com >>>>> .ibm >>>>> .as400.access.AS400JDBCStatement.execute(AS400JDBCStatement.java: >>>>> 1729) >>>>> at >>>>> org >>>>> .apache >>>>> .commons >>>>> .dbcp.DelegatingStatement.execute(DelegatingStatement.java: >>>>> 264) >>>>> at liquibase.database.template.JdbcTemplate >>>>> $1ExecuteStatementCallback.doInStatement(JdbcTemplate.java:78) >>>>> at >>>>> liquibase >>>>> .database.template.JdbcTemplate.execute(JdbcTemplate.java: >>>>> 48) >>>>> at >>>>> liquibase >>>>> .database.template.JdbcTemplate.execute(JdbcTemplate.java: >>>>> 86) >>>>> at >>>>> liquibase >>>>> .database >>>>> .AbstractDatabase >>>>> .checkDatabaseChangeLogLockTable(AbstractDatabase.java:712) >>>>> at liquibase.lock.LockHandler.acquireLock(LockHandler.java:40) >>>>> at liquibase.lock.LockHandler.waitForLock(LockHandler.java:150) >>>>> at liquibase.Liquibase.listUnrunChangeSets(Liquibase.java:518) >>>>> >>>>> The SQL message is in german, it translates to: >>>>> >>>>> java.sql.SQLException: [SQL0601] PK_DATABASECHANGE of Type * in >>>>> NETVERSYS2 already existant. >>>>> >>>>> And in fact it already exists because Liquibase already created >>>>> its >>>>> first (the lock table) entity. It seems it wants to create the >>>>> second >>>>> with the same constraint name. Can this be? >>>>> >>>>> --- >>>>> regards >>>>> Marc Logemann >>>>> http://www.logemann.org >>>>> http://www.logentis.de >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>> >> ------------------------------------------------------------------------ >>>> ------ >>>>> Register Now for Creativity and Technology (CaT), June 3rd, NYC. >>>>> CaT >>>>> is a gathering of tech-side developers & brand creativity >>>>> professionals. Meet >>>>> the minds behind Google Creative Lab, Visual Complexity, >>>>> Processing, & >>>>> iPhoneDevCamp as they present alongside digital heavyweights like >>>>> Barbarian >>>>> Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat- >>>>> com >>>>> _______________________________________________ >>>>> Liquibase-user mailing list >>>>> Liquibase-user@lists.sourceforge.net >>>>> https://lists.sourceforge.net/lists/listinfo/liquibase-user >>>> >>>> >>>> >>> >> ------------------------------------------------------------------------ >>>> ------ >>>> Register Now for Creativity and Technology (CaT), June 3rd, NYC. >>>> CaT >>>> is a gathering of tech-side developers & brand creativity >>>> professionals. >>>> Meet >>>> the minds behind Google Creative Lab, Visual Complexity, >>>> Processing, & >>>> iPhoneDevCamp as they present alongside digital heavyweights like >>>> Barbarian >>>> Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com >>>> _______________________________________________ >>>> Liquibase-user mailing list >>>> Liquibase-user@lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/liquibase-user >>>> >>>> >>> >> ------------------------------------------------------------------------ >>> ------ >>>> OpenSolaris 2009.06 is a cutting edge operating system for >>>> enterprises >>>> looking to deploy the next generation of Solaris that includes the >>>> latest >>>> innovations from Sun and the OpenSource community. Download a copy >>>> and >>>> enjoy capabilities such as Networking, Storage and Virtualization. >>>> Go to: http://p.sf.net/sfu/opensolaris-get >>>> _______________________________________________ >>>> Liquibase-user mailing list >>>> Liquibase-user@lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/liquibase-user >>> >>> >>> >> ------------------------------------------------------------------------ >>> ------ >>> OpenSolaris 2009.06 is a cutting edge operating system for >>> enterprises >>> looking to deploy the next generation of Solaris that includes the >>> latest >>> innovations from Sun and the OpenSource community. Download a copy >>> and >>> enjoy capabilities such as Networking, Storage and Virtualization. >>> Go to: http://p.sf.net/sfu/opensolaris-get >>> _______________________________________________ >>> Liquibase-user mailing list >>> Liquibase-user@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/liquibase-user >>> >>> >> ------------------------------------------------------------------------ >> ------ >>> OpenSolaris 2009.06 is a cutting edge operating system for >>> enterprises >>> looking to deploy the next generation of Solaris that includes the >>> latest >>> innovations from Sun and the OpenSource community. Download a copy >>> and >>> enjoy capabilities such as Networking, Storage and Virtualization. >>> Go to: http://p.sf.net/sfu/opensolaris-get >>> _______________________________________________ >>> Liquibase-user mailing list >>> Liquibase-user@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/liquibase-user >> >> >> ------------------------------------------------------------------------ >> ------ >> OpenSolaris 2009.06 is a cutting edge operating system for >> enterprises >> looking to deploy the next generation of Solaris that includes the >> latest >> innovations from Sun and the OpenSource community. Download a copy >> and >> enjoy capabilities such as Networking, Storage and Virtualization. >> Go to: http://p.sf.net/sfu/opensolaris-get >> _______________________________________________ >> Liquibase-user mailing list >> Liquibase-user@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/liquibase-user >> >> ------------------------------------------------------------------------------ >> OpenSolaris 2009.06 is a cutting edge operating system for >> enterprises >> looking to deploy the next generation of Solaris that includes the >> latest >> innovations from Sun and the OpenSource community. Download a copy >> and >> enjoy capabilities such as Networking, Storage and Virtualization. >> Go to: http://p.sf.net/sfu/opensolaris-get >> _______________________________________________ >> Liquibase-user mailing list >> Liquibase-user@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/liquibase-user > > > ------------------------------------------------------------------------------ > OpenSolaris 2009.06 is a cutting edge operating system for enterprises > looking to deploy the next generation of Solaris that includes the > latest > innovations from Sun and the OpenSource community. Download a copy and > enjoy capabilities such as Networking, Storage and Virtualization. > Go to: http://p.sf.net/sfu/opensolaris-get > _______________________________________________ > Liquibase-user mailing list > Liquibase-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/liquibase-user > > > > > > ------------------------------------------------------------------------------ > OpenSolaris 2009.06 is a cutting edge operating system for enterprises > looking to deploy the next generation of Solaris that includes the > latest > innovations from Sun and the OpenSource community. Download a copy and > enjoy capabilities such as Networking, Storage and Virtualization. > Go to: http://p.sf.net/sfu/opensolaris-get > _______________________________________________ > Liquibase-user mailing list > Liquibase-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/liquibase-user ------------------------------------------------------------------------------ OpenSolaris 2009.06 is a cutting edge operating system for enterprises looking to deploy the next generation of Solaris that includes the latest innovations from Sun and the OpenSource community. Download a copy and enjoy capabilities such as Networking, Storage and Virtualization. Go to: http://p.sf.net/sfu/opensolaris-get _______________________________________________ Liquibase-user mailing list Liquibase-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/liquibase-user