migrate.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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.AppRevision{},
  61. &models.AppInstance{},
  62. &models.DeploymentTarget{},
  63. &models.AppTemplate{},
  64. &models.GithubWebhook{},
  65. &ints.KubeIntegration{},
  66. &ints.BasicIntegration{},
  67. &ints.OIDCIntegration{},
  68. &ints.OAuthIntegration{},
  69. &ints.GCPIntegration{},
  70. &ints.AWSIntegration{},
  71. &ints.AzureIntegration{},
  72. &ints.GitlabIntegration{},
  73. &ints.GitlabAppOAuthIntegration{},
  74. &ints.TokenCache{},
  75. &ints.ClusterTokenCache{},
  76. &ints.RegTokenCache{},
  77. &ints.HelmRepoTokenCache{},
  78. &ints.GithubAppInstallation{},
  79. &ints.GithubAppOAuthIntegration{},
  80. &ints.SlackIntegration{},
  81. )
  82. }