mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-10-26 20:11:02 +00:00
[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) (cherry picked from commit37cfc3b227) (cherry picked from commit832607500a) (cherry picked from commit143d4007b1) (cherry picked from commita17e803fbf) (cherry picked from commit5c1cc8d9f6) (cherry picked from commit8bfc117458)
This commit is contained in:
parent
ecf009b6f1
commit
f6f91a4487
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
|
||||||
}
|
}
|
||||||
|
|
@ -122,7 +122,10 @@ 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) {
|
if _, err := os.Stat(filename); os.IsNotExist(err) {
|
||||||
return "", nil
|
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) {
|
||||||
|
return "", nil
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
file, err := os.Open(filename)
|
file, err := os.Open(filename)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue