mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-23 19:11:58 +01: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 commit ec8003859c
)
This commit is contained in:
parent
89239a60f2
commit
697570ff39
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