[snip]
the project.id and projectGroup.id will basically disappear from
continuum, reserved strictly for the underlying store.  The store can
do whatever it wants with them.

Ok, so a project(Group)? will have:
id : int
key : String
name : String
...

Where key is used as a reference, id is used as a datastore/model identity, and name is used as a display. Sounds good.

We could then have a table of "old names":
id : int
oldKey : String

These could be used so that failed lookup on a key could then look in the old key's to find out what the new one is (like when you move an issue in JIRA). I'm not sure this is needed initially - only if we support picking up renames to the project itself.

[/snip]

That was my point in my last email. I understand why we need that "old key" table but this would be something that will just get bloated over time. There could be a 'housekeeper' process that can clean up old keys after a certain time has expired. I don't see a reason why we need to keep the old stuff for long.

Cheers,
Rahul


Reply via email to