{"action":"opened","issue":{"url":"https://api.github.com/repos/ShapeChange/ShapeChange/issues/44","repository_url":"https://api.github.com/repos/ShapeChange/ShapeChange","labels_url":"https://api.github.com/repos/ShapeChange/ShapeChange/issues/44/labels{/name}","comments_url":"https://api.github.com/repos/ShapeChange/ShapeChange/issues/44/comments","events_url":"https://api.github.com/repos/ShapeChange/ShapeChange/issues/44/events","html_url":"https://github.com/ShapeChange/ShapeChange/issues/44","id":195472562,"number":44,"title":"SQL DDL target - names of check constraints can collide in Oracle","user":{"login":"heidivanparys","id":11427611,"avatar_url":"https://avatars.githubusercontent.com/u/11427611?v=3","gravatar_id":"","url":"https://api.github.com/users/heidivanparys","html_url":"https://github.com/heidivanparys","followers_url":"https://api.github.com/users/heidivanparys/followers","following_url":"https://api.github.com/users/heidivanparys/following{/other_user}","gists_url":"https://api.github.com/users/heidivanparys/gists{/gist_id}","starred_url":"https://api.github.com/users/heidivanparys/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heidivanparys/subscriptions","organizations_url":"https://api.github.com/users/heidivanparys/orgs","repos_url":"https://api.github.com/users/heidivanparys/repos","events_url":"https://api.github.com/users/heidivanparys/events{/privacy}","received_events_url":"https://api.github.com/users/heidivanparys/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-12-14T08:49:56Z","updated_at":"2016-12-14T08:49:56Z","closed_at":null,"body":"Oracle constraints in an Oracle schema have their own namespace and have a maximum length of 30.\r\n\r\nCurrently, the names of check constraints are generated by concatenating a truncated version of the table name with a truncated version of the feature type. This may result in name collisions when using similar table names ( e.g. tablesuffix1, tablesuffix2, ...) and long column names where the first part is the same (businessevent, businessprocess, ...).\r\n\r\nI see two requirements:\r\n* Making sure sure that constraints names are unique and have a maximum length of 30.\r\n* Make the generation of constraints names as independent as possible from any changes in the model that are unrelated to these constraints.\r\n\r\nA clarification of the second requirement:\r\n* It is ok that the name of the constraint changes when the related table or the related column changes name (because of a name change in the UML model e.g.).\r\n* Preferably, the name of the constraint does not change when e.g. the order of attributes in the UML changed, or when the UML model was reloaded in Enterprise Architect and the internal IDs were changed there, resulting in a different order of processing of UML entities in ShapeChange.\r\n\r\nThe main advantage of this is that a pure textual diff of a DDL file with a DDL file generated earlier is made easier. This way, people who generate DDL files but do not have the tools, time nor responsibility to actually implement the DDL and compare it with an earlier implemented version, can do a quick visual check by doing a textual diff, to see that the changes made in the model are reflected and no unintended changes sneaked in.\r\n\r\nThis issue is related to #39 .\r\n"}}
{"actor":{"display_login":"heidivanparys"}}