migrate.go 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package gorm
  2. import (
  3. "github.com/porter-dev/porter/internal/models"
  4. ints "github.com/porter-dev/porter/internal/models/integrations"
  5. "gorm.io/gorm"
  6. )
  7. func AutoMigrate(db *gorm.DB, debug bool) error {
  8. instanceDB := db
  9. if debug {
  10. instanceDB = instanceDB.Debug()
  11. }
  12. return instanceDB.AutoMigrate(
  13. &models.Project{},
  14. &models.Role{},
  15. &models.User{},
  16. &models.Release{},
  17. &models.Environment{},
  18. &models.Deployment{},
  19. &models.Session{},
  20. &models.GitRepo{},
  21. &models.Registry{},
  22. &models.HelmRepo{},
  23. &models.Cluster{},
  24. &models.ClusterCandidate{},
  25. &models.ClusterResolver{},
  26. &models.Database{},
  27. &models.Infra{},
  28. &models.Operation{},
  29. &models.GitActionConfig{},
  30. &models.Invite{},
  31. &models.AuthCode{},
  32. &models.DNSRecord{},
  33. &models.PWResetToken{},
  34. &models.NotificationConfig{},
  35. &models.JobNotificationConfig{},
  36. &models.EventContainer{},
  37. &models.SubEvent{},
  38. &models.KubeEvent{},
  39. &models.KubeSubEvent{},
  40. &models.ProjectUsage{},
  41. &models.ProjectUsageCache{},
  42. &models.Onboarding{},
  43. &models.CredentialsExchangeToken{},
  44. &models.BuildConfig{},
  45. &models.Allowlist{},
  46. &models.APIToken{},
  47. &models.Policy{},
  48. &models.Tag{},
  49. &models.Stack{},
  50. &models.StackRevision{},
  51. &models.StackResource{},
  52. &models.StackSourceConfig{},
  53. &models.StackEnvGroup{},
  54. &models.DbMigration{},
  55. &models.MonitorTestResult{},
  56. &models.APIContractRevision{},
  57. &models.AWSAssumeRoleChain{},
  58. &models.PorterApp{},
  59. &models.PorterAppEvent{},
  60. &models.SystemServiceStatus{},
  61. &models.AppRevision{},
  62. &models.AppInstance{},
  63. &models.DeploymentTarget{},
  64. &models.AppTemplate{},
  65. &models.GithubWebhook{},
  66. &models.Datastore{},
  67. &ints.KubeIntegration{},
  68. &ints.BasicIntegration{},
  69. &ints.OIDCIntegration{},
  70. &ints.OAuthIntegration{},
  71. &ints.GCPIntegration{},
  72. &ints.AWSIntegration{},
  73. &ints.AzureIntegration{},
  74. &ints.GitlabIntegration{},
  75. &ints.GitlabAppOAuthIntegration{},
  76. &ints.TokenCache{},
  77. &ints.ClusterTokenCache{},
  78. &ints.RegTokenCache{},
  79. &ints.HelmRepoTokenCache{},
  80. &ints.GithubAppInstallation{},
  81. &ints.GithubAppOAuthIntegration{},
  82. &ints.SlackIntegration{},
  83. &ints.UpstashIntegration{},
  84. &ints.NeonIntegration{},
  85. &models.Ipam{},
  86. &models.AppEventWebhooks{},
  87. &models.ClusterHealthReport{},
  88. &models.Referral{},
  89. )
  90. }