grouper-dev - reducing the uuid/id pair to identify a row in grouper tables
Subject: Grouper Developers Forum
List archive
- From: Chris Hyzer <>
- To: "" <>
- Subject: reducing the uuid/id pair to identify a row in grouper tables
- Date: Wed, 30 Jul 2008 03:06:56 -0400
- Accept-language: en-US
- Acceptlanguage: en-US
Hey, This issue we have been discussing is resolved: https://bugs.internet2.edu/jira/browse/GRP-98 https://wiki.internet2.edu/confluence/display/GrouperWG/Hibernate+ID%27s+and+versioning Change log: https://wiki.internet2.edu/confluence/display/GrouperWG/Grouper+change+log+v1.3+-+v1.4 To upgrade, get a version of grouper that is 1.4+, and build
7/30/8. Then start grouper or do an: ant schemaexport. This will
generate a script. You should review it before running it. It will
create hibernate_version_number cols, and init them in all tables. Also
it will create old_id and old_uuid cols, and copy data from id and uuid
there. Then it will set the id to col to be the value of the uuid.
Then it will drop the uuid col. When you are satisfied that everything is
ok, you should set the grouper.properties ddlutils.dropBackupUuidCols to true,
and the next time you schemaexport it will drop the old_id and old_uuid cols. I have unit tests for the conversion, and they work fine in
oracle and mysql. Postgres is thorny with ddlutils unfortunately, so the
generated scripts will need to be reviewed and edited. I have been making
progress with postgres, and will pick it up again so it will be smooth, but my
timebox is done and I will move on to other things… Btw, as part of this, the ID’s are the grouper
assigned uuids (not hibernate’s), but a new col was needed for versioning
to see if insert or update. This col can also be used for optimistic
locking if we want to make sure multiple processes don’t step on each
others toes (we can just change something in the config, or possibly do it with
hibernate metadata on the fly if people want to turn it on or off at will…
we can try). Fyi One slightly non-standard thing is that the java uuid field
maps to the db “id” col. This is because it is hard to rename
a primary key, so we need to key the db id col. And since uuid is used in
java, I opted to keep that. We can refactor in java at some point if we
like. I added a way to put test values in the grouper.properties
for unit testing: ApiConfig.testConfig.put("ddlutils.dropBackupUuidCols", "false"); All ddlutils scripts will start with dropping all foreign
keys, and end with adding back Regards, Chris |
- reducing the uuid/id pair to identify a row in grouper tables, Chris Hyzer, 07/30/2008
- Re: [grouper-dev] reducing the uuid/id pair to identify a row in grouper tables, Tom Barton, 07/30/2008
- RE: [grouper-dev] reducing the uuid/id pair to identify a row in grouper tables, Chris Hyzer, 07/31/2008
- Re: [grouper-dev] reducing the uuid/id pair to identify a row in grouper tables, Tom Barton, 07/31/2008
- RE: [grouper-dev] reducing the uuid/id pair to identify a row in grouper tables, Chris Hyzer, 07/31/2008
- Re: [grouper-dev] reducing the uuid/id pair to identify a row in grouper tables, Tom Barton, 07/31/2008
- RE: [grouper-dev] reducing the uuid/id pair to identify a row in grouper tables, Chris Hyzer, 07/31/2008
- Re: [grouper-dev] reducing the uuid/id pair to identify a row in grouper tables, Tom Barton, 07/30/2008
Archive powered by MHonArc 2.6.16.