cloud/lib/component: don't fail when there's no migrations to run

Currently we always migrate the database schema up on every startup.
However, the go-migrate API returns an error if Up() is called when
everything is up to date.

Change-Id: I245d3985719c5baee7d483c0cd9dc21c142b49af
Reviewed-on: https://review.monogon.dev/c/monogon/+/1502
Tested-by: Jenkins CI
Reviewed-by: Tim Windelschmidt <tim@monogon.tech>
diff --git a/cloud/lib/component/crdb.go b/cloud/lib/component/crdb.go
index 0de8bcf..4ba9470 100644
--- a/cloud/lib/component/crdb.go
+++ b/cloud/lib/component/crdb.go
@@ -2,6 +2,7 @@
 
 import (
 	"database/sql"
+	"errors"
 	"flag"
 	"fmt"
 	"net/url"
@@ -141,7 +142,15 @@
 	if err != nil {
 		return err
 	}
-	return m.Up()
+	err = m.Up()
+	switch {
+	case err == nil:
+		return nil
+	case errors.Is(err, migrate.ErrNoChange):
+		return nil
+	default:
+		return err
+	}
 }
 
 // MigrateDownDangerDanger removes all data from the database by performing a