forked from NYANDEV/forgejo
[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 commit ec8003859c920ac05a071ad9b1d9d8af5a694ac0)
(cherry picked from commit 697570ff390656930d41bcdc4194aacc5c7a54f4)
(cherry picked from commit f041aec17265ca34943f961d9640e60c96c0f24d)
(cherry picked from commit 60463e3bab9dfa6aae7f379fc77309ab52b1d250)
(cherry picked from commit b2fc2a7c1338ad2a9bd0a6887443e604dccda53f)
(cherry picked from commit fb2759b6afc213d5e2db8f6e523391927c611b23)
(cherry picked from commit 37cfc3b2275afd523f53e149781d69a2914fd83b)
(cherry picked from commit 832607500a576a40ee1e35897e58ef319dba9788)
(cherry picked from commit 143d4007b1b60ad1880b64ce1d4998e77854a05a)
(cherry picked from commit a17e803fbfb7908729c2d92fd58360806cce6fbe)
(cherry picked from commit 5c1cc8d9f6c9974e399d3b7da6dc901374f70583)
(cherry picked from commit 8bfc117458f046d28c6978de17ff407fe4cc43c4)
(cherry picked from commit f6f91a4487a1c06c105251d5b600d1920bfac0ad)
(cherry picked from commit 5123723bccbdcfede68719c212073fe02ec2499b)
(cherry picked from commit e5e7b5dc33
)
This commit is contained in:
parent
ee503eb295
commit
cd26537a1f
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…
Reference in a new issue