[DB] run all Forgejo migrations in integration tests
The tests at tests/integration/migration-test/migration_test.go will not run any Forgejo migration when using the gitea-*.sql.gz files because they do not contain a ForgejoVersion row which is interpreted as a new Forgejo installation for which there is no need for migration. Create a situation by which the ForgejoVersion table exists and has a version of 0 in tests/integration/migration-test/forgejo-v1.19.0.*.sql.gz thus ensuring all Forgejo migrations are run. The forgejo*.sql.gz files do not have any Gitea related records, which will be interpreted by the Gitea migrations as a new installation that does not need any migration. As a consequence the migration tests run when using forgejo-v1.19.0.*.sql.gz are exclusively about Forgejo migrations. (cherry picked from commitec8003859c
) (cherry picked from commit697570ff39
) (cherry picked from commitf041aec172
) (cherry picked from commit60463e3bab
) (cherry picked from commitb2fc2a7c13
) (cherry picked from commitfb2759b6af
)
This commit is contained in:
parent
8c253719af
commit
37cfc3b227
4 changed files with 5 additions and 2 deletions
BIN
tests/integration/migration-test/forgejo-v1.19.0.mysql.sql.gz
Normal file
BIN
tests/integration/migration-test/forgejo-v1.19.0.mysql.sql.gz
Normal file
Binary file not shown.
BIN
tests/integration/migration-test/forgejo-v1.19.0.postgres.sql.gz
Normal file
BIN
tests/integration/migration-test/forgejo-v1.19.0.postgres.sql.gz
Normal file
Binary file not shown.
BIN
tests/integration/migration-test/forgejo-v1.19.0.sqlite3.sql.gz
Normal file
BIN
tests/integration/migration-test/forgejo-v1.19.0.sqlite3.sql.gz
Normal file
Binary file not shown.
|
@ -98,7 +98,7 @@ func availableVersions() ([]string, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
defer migrationsDir.Close()
|
defer migrationsDir.Close()
|
||||||
versionRE, err := regexp.Compile("gitea-v(?P<version>.+)\\." + regexp.QuoteMeta(setting.Database.Type.String()) + "\\.sql.gz")
|
versionRE, err := regexp.Compile(".*-v(?P<version>.+)\\." + regexp.QuoteMeta(setting.Database.Type.String()) + "\\.sql.gz")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -121,9 +121,12 @@ func availableVersions() ([]string, error) {
|
||||||
func readSQLFromFile(version string) (string, error) {
|
func readSQLFromFile(version string) (string, error) {
|
||||||
filename := fmt.Sprintf("tests/integration/migration-test/gitea-v%s.%s.sql.gz", version, setting.Database.Type)
|
filename := fmt.Sprintf("tests/integration/migration-test/gitea-v%s.%s.sql.gz", version, setting.Database.Type)
|
||||||
|
|
||||||
|
if _, err := os.Stat(filename); os.IsNotExist(err) {
|
||||||
|
filename = fmt.Sprintf("tests/integration/migration-test/forgejo-v%s.%s.sql.gz", version, setting.Database.Type)
|
||||||
if _, err := os.Stat(filename); os.IsNotExist(err) {
|
if _, err := os.Stat(filename); os.IsNotExist(err) {
|
||||||
return "", nil
|
return "", nil
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
file, err := os.Open(filename)
|
file, err := os.Open(filename)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
Loading…
Reference in a new issue