Content
View differences
Updated by Markus Kahl over 3 years ago
### Steps to reproduce
1. Have OpenProject v12.0.8 v12.1.4 or older
2. Install OpenProject 12.1.5 12.3.0 or newer
3. Try to migrate (e.g. `sudo openproject configure`)
### What is the buggy behavior?
The migration fails with an error like the following:
```text
Migrating to AddStoragesPermissionsToRoles (20220712165928)
== 20220712165928 AddStoragesPermissionsToRoles: migrating ====================
TRANSACTION (0.9ms) BEGIN
↳ modules/storages/db/migrate/20220712165928_add_storages_permissions_to_roles.rb:34:in `up'
SQL (1.8ms) SELECT DISTINCT "roles"."id" AS alias_0, "roles"."id" FROM "roles" INNER JOIN "role_permissions" ON "role_permissions"."role_id" = "roles"."id" WHERE "role_permissions"."permission" = $1 ORDER BY "roles"."id" ASC LIMIT $2 [["permission", "select_project_modules"], ["LIMIT", 1000]]
↳ modules/storages/db/migrate/20220712165928_add_storages_permissions_to_roles.rb:34:in `up'
SQL (3.0ms) SELECT "roles"."id" AS t0_r0, "roles"."name" AS t0_r1, "roles"."position" AS t0_r2, "roles"."assignable" AS t0_r3, "roles"."builtin" AS t0_r4, "roles"."type" AS t0_r5, "role_permissions"."id" AS t1_r0, "role_permissions"."permission" AS t1_r1, "role_permissions"."role_id" AS t1_r2, "role_permissions"."created_at" AS t1_r3, "role_permissions"."updated_at" AS t1_r4 FROM "roles" INNER JOIN "role_permissions" ON "role_permissions"."role_id" = "roles"."id" WHERE "role_permissions"."permission" = $1 AND "roles"."id" = $2 ORDER BY "roles"."id" ASC [["permission", "select_project_modules"], ["id", 3]]
↳ modules/storages/db/migrate/20220712165928_add_storages_permissions_to_roles.rb:34:in `up'
TRANSACTION (0.7ms) ROLLBACK
(1.0ms) SELECT pg_advisory_unlock(642343694063284395)
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
PG::UndefinedColumn: ERROR: column roles.assignable does not exist
LINE 1: ...es"."name" AS t0_r1, "roles"."position" AS t0_r2, "roles"."a...
^
/home/mk/dev/openproject/core/db/migrate/migration_utils/permission_adder.rb:37:in `add'
/home/mk/dev/openproject/core/modules/storages/db/migrate/20220712165928_add_storages_permissions_to_roles.rb:34:in `up'
/home/mk/.rbenv/versions/3.1.2/bin/bundle:25:in `load'
/home/mk/.rbenv/versions/3.1.2/bin/bundle:25:in `<main>'
Caused by:
ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column roles.assignable does not exist
LINE 1: ...es"."name" AS t0_r1, "roles"."position" AS t0_r2, "roles"."a...
^
/home/mk/dev/openproject/core/db/migrate/migration_utils/permission_adder.rb:37:in `add'
/home/mk/dev/openproject/core/modules/storages/db/migrate/20220712165928_add_storages_permissions_to_roles.rb:34:in `up'
/home/mk/.rbenv/versions/3.1.2/bin/bundle:25:in `load'
/home/mk/.rbenv/versions/3.1.2/bin/bundle:25:in `<main>'
Caused by:
PG::UndefinedColumn: ERROR: column roles.assignable does not exist
LINE 1: ...es"."name" AS t0_r1, "roles"."position" AS t0_r2, "roles"."a...
```
### What is the expected behavior?
The migration should work.
**OpenProject version**
12.1.5+
1. Have OpenProject v12.0.8
2. Install OpenProject 12.1.5
3. Try to migrate (e.g. `sudo openproject configure`)
### What is the buggy behavior?
The migration fails with an error like the following:
```text
Migrating to AddStoragesPermissionsToRoles (20220712165928)
== 20220712165928 AddStoragesPermissionsToRoles: migrating ====================
TRANSACTION (0.9ms) BEGIN
↳ modules/storages/db/migrate/20220712165928_add_storages_permissions_to_roles.rb:34:in `up'
SQL (1.8ms) SELECT DISTINCT "roles"."id" AS alias_0, "roles"."id" FROM "roles" INNER JOIN "role_permissions" ON "role_permissions"."role_id" = "roles"."id" WHERE "role_permissions"."permission" = $1 ORDER BY "roles"."id" ASC LIMIT $2 [["permission", "select_project_modules"], ["LIMIT", 1000]]
↳ modules/storages/db/migrate/20220712165928_add_storages_permissions_to_roles.rb:34:in `up'
SQL (3.0ms) SELECT "roles"."id" AS t0_r0, "roles"."name" AS t0_r1, "roles"."position" AS t0_r2, "roles"."assignable" AS t0_r3, "roles"."builtin" AS t0_r4, "roles"."type" AS t0_r5, "role_permissions"."id" AS t1_r0, "role_permissions"."permission" AS t1_r1, "role_permissions"."role_id" AS t1_r2, "role_permissions"."created_at" AS t1_r3, "role_permissions"."updated_at" AS t1_r4 FROM "roles" INNER JOIN "role_permissions" ON "role_permissions"."role_id" = "roles"."id" WHERE "role_permissions"."permission" = $1 AND "roles"."id" = $2 ORDER BY "roles"."id" ASC [["permission", "select_project_modules"], ["id", 3]]
↳ modules/storages/db/migrate/20220712165928_add_storages_permissions_to_roles.rb:34:in `up'
TRANSACTION (0.7ms) ROLLBACK
(1.0ms) SELECT pg_advisory_unlock(642343694063284395)
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
PG::UndefinedColumn: ERROR: column roles.assignable does not exist
LINE 1: ...es"."name" AS t0_r1, "roles"."position" AS t0_r2, "roles"."a...
^
/home/mk/dev/openproject/core/db/migrate/migration_utils/permission_adder.rb:37:in `add'
/home/mk/dev/openproject/core/modules/storages/db/migrate/20220712165928_add_storages_permissions_to_roles.rb:34:in `up'
/home/mk/.rbenv/versions/3.1.2/bin/bundle:25:in `load'
/home/mk/.rbenv/versions/3.1.2/bin/bundle:25:in `<main>'
Caused by:
ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column roles.assignable does not exist
LINE 1: ...es"."name" AS t0_r1, "roles"."position" AS t0_r2, "roles"."a...
^
/home/mk/dev/openproject/core/db/migrate/migration_utils/permission_adder.rb:37:in `add'
/home/mk/dev/openproject/core/modules/storages/db/migrate/20220712165928_add_storages_permissions_to_roles.rb:34:in `up'
/home/mk/.rbenv/versions/3.1.2/bin/bundle:25:in `load'
/home/mk/.rbenv/versions/3.1.2/bin/bundle:25:in `<main>'
Caused by:
PG::UndefinedColumn: ERROR: column roles.assignable does not exist
LINE 1: ...es"."name" AS t0_r1, "roles"."position" AS t0_r2, "roles"."a...
```
The migration should work.
**OpenProject version**
12.1.5+