{"action":"created","issue":{"url":"https://api.github.com/repos/joeaudette/cloudscribe/issues/31","repository_url":"https://api.github.com/repos/joeaudette/cloudscribe","labels_url":"https://api.github.com/repos/joeaudette/cloudscribe/issues/31/labels{/name}","comments_url":"https://api.github.com/repos/joeaudette/cloudscribe/issues/31/comments","events_url":"https://api.github.com/repos/joeaudette/cloudscribe/issues/31/events","html_url":"https://github.com/joeaudette/cloudscribe/issues/31","id":151204541,"number":31,"title":"standardizing on guid ids - breaking changes","user":{"login":"joeaudette","id":101627,"avatar_url":"https://avatars.githubusercontent.com/u/101627?v=3","gravatar_id":"","url":"https://api.github.com/users/joeaudette","html_url":"https://github.com/joeaudette","followers_url":"https://api.github.com/users/joeaudette/followers","following_url":"https://api.github.com/users/joeaudette/following{/other_user}","gists_url":"https://api.github.com/users/joeaudette/gists{/gist_id}","starred_url":"https://api.github.com/users/joeaudette/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joeaudette/subscriptions","organizations_url":"https://api.github.com/users/joeaudette/orgs","repos_url":"https://api.github.com/users/joeaudette/repos","events_url":"https://api.github.com/users/joeaudette/events{/privacy}","received_events_url":"https://api.github.com/users/joeaudette/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/joeaudette/cloudscribe/labels/announcement","name":"announcement","color":"207de5"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2016-04-26T18:20:27Z","updated_at":"2016-05-04T12:15:09Z","closed_at":null,"body":"at the moment, some model classes in cloudscribe.Core have both integer ids and guids\r\nthis was based on the design I used in mojoPortal as I have a minor goal to make a data migration path from mojoportal as low friction as possible.\r\n\r\nI won't get long winded here about the pros/cons of integer ids vs guids, you can google that if you are interested in the topic. suffice to say that guids have advantages of not clashing when data is merged or replicated across systems (and other advantages), whereas integers in some cases can have some performance advantages.\r\nIn mojoportal my idea was to get the best of both by using integer ids for sql joins while also providing a surrogate id in the form of a guid so that if data needed to be imported or merged the guids could be used to correctly wire up the relations for new integer ids that might be needed to avoid clashes when merging data.\r\n\r\nin cloudscribe I have arrived at a decision to remove the integer ids and strictly use guids so I will be making major changes to the model in a branch and will merge it when complete. \r\n\r\nHowever this process will be breaking for existing data and I thought I should give a heads up about that. I'm not even going to try to implement EF migrations, I'm going to just start with a new database based on the changed model.\r\n\r\nSince this project is still in early preview I think it is reasonable to make such breaking changes which would be much more problematic to make once it is used in production. \r\nSorry for the inconvenience that this may cause."},"comment":{"url":"https://api.github.com/repos/joeaudette/cloudscribe/issues/comments/216842328","html_url":"https://github.com/joeaudette/cloudscribe/issues/31#issuecomment-216842328","issue_url":"https://api.github.com/repos/joeaudette/cloudscribe/issues/31","id":216842328,"user":{"login":"joeaudette","id":101627,"avatar_url":"https://avatars.githubusercontent.com/u/101627?v=3","gravatar_id":"","url":"https://api.github.com/users/joeaudette","html_url":"https://github.com/joeaudette","followers_url":"https://api.github.com/users/joeaudette/followers","following_url":"https://api.github.com/users/joeaudette/following{/other_user}","gists_url":"https://api.github.com/users/joeaudette/gists{/gist_id}","starred_url":"https://api.github.com/users/joeaudette/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joeaudette/subscriptions","organizations_url":"https://api.github.com/users/joeaudette/orgs","repos_url":"https://api.github.com/users/joeaudette/repos","events_url":"https://api.github.com/users/joeaudette/events{/privacy}","received_events_url":"https://api.github.com/users/joeaudette/received_events","type":"User","site_admin":false},"created_at":"2016-05-04T12:15:09Z","updated_at":"2016-05-04T12:15:09Z","body":"this change has been merged to the master branch, so starting with a new db will be required for those who are working with this solution"}}