@@ -49,6 +49,7 @@ WARNING: Performing migration may wipe collected data for consistency and re-col
4949To proceed, please send a request to <config-ui-endpoint>/api/proceed-db-migration (or <devlake-endpoint>/proceed-db-migration).
5050Alternatively, you may downgrade back to the previous DevLake version.
5151`
52+ const DB_MIGRATING = `Database migration is in progress. Please wait until it is completed.`
5253
5354var basicRes context.BasicRes
5455
@@ -95,12 +96,6 @@ func SetupApiServer(router *gin.Engine) {
9596
9697 // Endpoint to proceed database migration
9798 router .GET ("/proceed-db-migration" , func (ctx * gin.Context ) {
98- // Check if migration requires confirmation
99- if ! services .MigrationRequireConfirmation () {
100- // Return success response
101- shared .ApiOutputSuccess (ctx , nil , http .StatusOK )
102- return
103- }
10499 // Execute database migration
105100 err := services .ExecuteMigration ()
106101 if err != nil {
@@ -114,15 +109,22 @@ func SetupApiServer(router *gin.Engine) {
114109
115110 // Restrict access if database migration is required
116111 router .Use (func (ctx * gin.Context ) {
117- if ! services .MigrationRequireConfirmation () {
118- return
112+ serviceStatus := services .CurrentStatus ()
113+ if serviceStatus == services .SERVICE_STATUS_WAIT_CONFIRM {
114+ // Return error response
115+ shared .ApiOutputError (
116+ ctx ,
117+ errors .HttpStatus (http .StatusPreconditionRequired ).New (DB_MIGRATION_REQUIRED ),
118+ )
119+ ctx .Abort ()
120+ } else if serviceStatus == services .SERVICE_STATUS_MIGRATING {
121+ // Return error response
122+ shared .ApiOutputError (
123+ ctx ,
124+ errors .HttpStatus (http .StatusPreconditionRequired ).New (DB_MIGRATING ),
125+ )
126+ ctx .Abort ()
119127 }
120- // Return error response
121- shared .ApiOutputError (
122- ctx ,
123- errors .HttpStatus (http .StatusPreconditionRequired ).New (DB_MIGRATION_REQUIRED ),
124- )
125- ctx .Abort ()
126128 })
127129
128130 // Add swagger handlers
0 commit comments