@@ -120,6 +120,8 @@ erDiagram
120120 VARCHAR(128) category_id FK
121121 BIGINT answer_chosen_by_id FK
122122 BIGINT answer_comment_id FK ,UK
123+ BIGINT native_id UK "NOT NULL "
124+ BIGINT provider_id FK ,UK "NOT NULL "
123125 }
124126
125127 DiscussionCategory {
@@ -148,6 +150,8 @@ erDiagram
148150 BIGINT discussion_id FK
149151 BIGINT author_id FK
150152 BIGINT parent_comment_id FK
153+ BIGINT native_id UK "NOT NULL "
154+ BIGINT provider_id FK ,UK "NOT NULL "
151155 }
152156
153157 DiscussionLabel {
@@ -197,6 +201,13 @@ erDiagram
197201 VARCHAR(255) on_behalf_of_login
198202 }
199203
204+ GitProvider {
205+ BIGINT id PK
206+ VARCHAR(10) type UK " NOT NULL"
207+ VARCHAR(512) server_url UK " NOT NULL"
208+ TIMESTAMPTZ created_at " NOT NULL"
209+ }
210+
200211 Issue {
201212 VARCHAR(31) issue_type "NOT NULL "
202213 BIGINT id PK
@@ -235,6 +246,8 @@ erDiagram
235246 VARCHAR(40) head_ref_oid
236247 VARCHAR(255) base_ref_name
237248 VARCHAR(40) base_ref_oid
249+ BIGINT native_id UK "NOT NULL "
250+ BIGINT provider_id FK ,UK "NOT NULL "
238251 }
239252
240253 IssueAssignee {
@@ -256,6 +269,8 @@ erDiagram
256269 BIGINT author_id FK
257270 BIGINT issue_id FK
258271 TEXT body
272+ BIGINT native_id UK "NOT NULL "
273+ BIGINT provider_id FK ,UK "NOT NULL "
259274 }
260275
261276 IssueLabel {
@@ -300,18 +315,21 @@ erDiagram
300315 INTEGER closed_issues_count " NOT NULL"
301316 INTEGER open_issues_count " NOT NULL"
302317 TIMESTAMPTZ last_sync_at
318+ BIGINT native_id UK "NOT NULL "
319+ BIGINT provider_id FK ,UK "NOT NULL "
303320 }
304321
305322 Organization {
306323 BIGINT id PK
307324 TIMESTAMPTZ created_at
308325 TIMESTAMPTZ updated_at
309326 VARCHAR(255) avatar_url
310- BIGINT github_id UK "NOT NULL "
327+ BIGINT native_id UK "NOT NULL "
311328 VARCHAR(255) html_url
312329 VARCHAR(255) login UK " NOT NULL"
313330 VARCHAR(255) name
314331 TIMESTAMPTZ last_sync_at
332+ BIGINT provider_id FK ,UK "NOT NULL "
315333 }
316334
317335 OrganizationMembership {
@@ -344,6 +362,8 @@ erDiagram
344362 TIMESTAMPTZ status_updates_synced_at
345363 TIMESTAMPTZ created_at
346364 TIMESTAMPTZ updated_at
365+ BIGINT native_id UK "NOT NULL "
366+ BIGINT provider_id FK ,UK "NOT NULL "
347367 }
348368
349369 ProjectField {
@@ -381,6 +401,8 @@ erDiagram
381401 BIGINT creator_id FK
382402 TIMESTAMPTZ created_at
383403 TIMESTAMPTZ updated_at
404+ BIGINT native_id UK "NOT NULL "
405+ BIGINT provider_id FK ,UK "NOT NULL "
384406 }
385407
386408 ProjectStatusUpdate {
@@ -395,6 +417,8 @@ erDiagram
395417 BIGINT creator_id FK
396418 TIMESTAMPTZ created_at
397419 TIMESTAMPTZ updated_at
420+ BIGINT native_id UK "NOT NULL "
421+ BIGINT provider_id FK ,UK "NOT NULL "
398422 }
399423
400424 PullRequestBadPractice {
@@ -452,6 +476,8 @@ erDiagram
452476 TEXT body
453477 TEXT diff_hunk
454478 BOOLEAN outdated
479+ BIGINT native_id UK "NOT NULL "
480+ BIGINT provider_id FK ,UK "NOT NULL "
455481 }
456482
457483 PullRequestReviewThread {
@@ -470,6 +496,8 @@ erDiagram
470496 BOOLEAN outdated
471497 BOOLEAN collapsed
472498 BIGINT resolved_by_id FK
499+ BIGINT native_id UK "NOT NULL "
500+ BIGINT provider_id FK ,UK "NOT NULL "
473501 }
474502
475503 Repository {
@@ -489,6 +517,8 @@ erDiagram
489517 BIGINT organization_id FK
490518 TIMESTAMPTZ last_sync_at
491519 BOOLEAN has_discussions_enabled " NOT NULL"
520+ BIGINT native_id UK "NOT NULL "
521+ BIGINT provider_id FK ,UK "NOT NULL "
492522 }
493523
494524 RepositoryCollaborator {
@@ -529,6 +559,8 @@ erDiagram
529559 BIGINT parent_id
530560 VARCHAR(32) privacy
531561 TIMESTAMPTZ updated_at
562+ BIGINT native_id UK "NOT NULL "
563+ BIGINT provider_id FK ,UK "NOT NULL "
532564 }
533565
534566 TeamMembership {
@@ -553,6 +585,8 @@ erDiagram
553585 VARCHAR(255) login
554586 VARCHAR(255) name
555587 VARCHAR(255) type
588+ BIGINT native_id UK "NOT NULL "
589+ BIGINT provider_id FK ,UK "NOT NULL "
556590 }
557591
558592 UserPreference {
@@ -637,17 +671,31 @@ erDiagram
637671 ChatMessage ||--|| ChatThread : references
638672 GitCommit ||--|| CommitContributor : has
639673 DiscussionComment ||--|| Discussion : references
674+ GitProvider ||--|| Discussion : references
640675 Repository ||--|| Discussion : has
641676 Repository ||--|| DiscussionCategory : has
677+ GitProvider ||--|| DiscussionComment : commented_on
642678 Repository ||--|| GitCommit : has
679+ GitProvider ||--|| Issue : references
643680 Repository ||--|| Issue : has
681+ GitProvider ||--|| IssueComment : commented_on
644682 Repository ||--|| Label : labeled
683+ GitProvider ||--|| Milestone : references
645684 Repository ||--|| Milestone : has
685+ GitProvider ||--|| Organization : references
686+ GitProvider ||--|| Project : references
646687 Project ||--|| ProjectField : has
647688 ProjectField ||--|| ProjectFieldValue : has
648689 ProjectItem ||--|| ProjectFieldValue : has
649690 Project ||--|| ProjectItem : has
691+ GitProvider ||--|| ProjectItem : references
692+ GitProvider ||--|| ProjectStatusUpdate : references
693+ GitProvider ||--|| PullRequestReviewComment : commented_on
694+ GitProvider ||--|| PullRequestReviewThread : reviewed
650695 PullRequestReviewComment ||--|| PullRequestReviewThread : reviewed
696+ GitProvider ||--|| Repository : references
697+ GitProvider ||--|| Team : references
698+ GitProvider ||--|| User : references
651699 User ||--|| UserPreference : has
652700 Organization ||--|| Workspace : has
653701 User ||--|| WorkspaceMembership : belongs_to
0 commit comments