[debian native package] [8.13 to 10.7 update] ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR: relation "features" does not exist
Debian now has a patch that they can apply to their packaging of GitLab 10.7.
To make sure they can drop that patch we'd need to move the db/migrate/20170525174156_create_feature_tables.rb
migration before the 20170525140254_rename_all_reserved_paths_again.rb
migration by renaming the latter to a timestamp higher than 20170525174156
.
Original description
Can we skip this migration in case of 8.13 to 10.7 migration? Can the migration be modified to not fail when relation "features" does not exist? With this, we hope to leave 8.13 behind and make a big jump to 10.7 in debian.
-- tracked rename: rename:RenameAllReservedPathsAgain:project: Bavisha/new -> Bavisha/new0
rake aborted!
StandardError: An error has occurred, all later migrations canceled:
PG::UndefinedTable: ERROR: relation "features" does not exist
LINE 5: WHERE a.attrelid = '"features"'::regclass
^
: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"features"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
/usr/share/rubygems-integration/all/gems/peek-pg-1.3.0/lib/peek/views/pg.rb:17:in `async_exec'
/usr/share/rubygems-integration/all/gems/peek-pg-1.3.0/lib/peek/views/pg.rb:17:in `async_exec'
/usr/share/gitlab/lib/feature.rb:8:in `feature_names'
/usr/share/gitlab/lib/feature.rb:31:in `persisted_names'
/usr/share/gitlab/lib/feature.rb:39:in `persisted?'
/usr/share/gitlab/lib/gitlab/gitaly_client.rb:222:in `feature_enabled?'
/usr/share/gitlab/lib/gitlab/gitaly_client.rb:255:in `migrate'
/usr/share/gitlab/lib/gitlab/shell.rb:338:in `mv_namespace'
/usr/share/gitlab/lib/gitlab/shell.rb:154:in `mv_repository'
/usr/share/gitlab/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_projects.rb:54:in `move_repository'
/usr/share/gitlab/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_projects.rb:26:in `move_project_folders'
/usr/share/gitlab/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_projects.rb:21:in `rename_project'
/usr/share/gitlab/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_projects.rb:10:in `block in rename_projects'
/usr/share/gitlab/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_projects.rb:9:in `rename_projects'
/usr/share/gitlab/lib/gitlab/database/rename_reserved_paths_migration/v1.rb:20:in `rename_wildcard_paths'
/usr/share/gitlab/db/post_migrate/20170525140254_rename_all_reserved_paths_again.rb:93:in `block in up'
/usr/share/gitlab/db/post_migrate/20170525140254_rename_all_reserved_paths_again.rb:93:in `each'
/usr/share/gitlab/db/post_migrate/20170525140254_rename_all_reserved_paths_again.rb:93:in `up'
Caused by:
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR: relation "features" does not exist
LINE 5: WHERE a.attrelid = '"features"'::regclass
^
: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"features"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
/usr/share/rubygems-integration/all/gems/peek-pg-1.3.0/lib/peek/views/pg.rb:17:in `async_exec'
/usr/share/rubygems-integration/all/gems/peek-pg-1.3.0/lib/peek/views/pg.rb:17:in `async_exec'
/usr/share/gitlab/lib/feature.rb:8:in `feature_names'
/usr/share/gitlab/lib/feature.rb:31:in `persisted_names'
/usr/share/gitlab/lib/feature.rb:39:in `persisted?'
/usr/share/gitlab/lib/gitlab/gitaly_client.rb:222:in `feature_enabled?'
/usr/share/gitlab/lib/gitlab/gitaly_client.rb:255:in `migrate'
/usr/share/gitlab/lib/gitlab/shell.rb:338:in `mv_namespace'
/usr/share/gitlab/lib/gitlab/shell.rb:154:in `mv_repository'
/usr/share/gitlab/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_projects.rb:54:in `move_repository'
/usr/share/gitlab/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_projects.rb:26:in `move_project_folders'
/usr/share/gitlab/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_projects.rb:21:in `rename_project'
/usr/share/gitlab/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_projects.rb:10:in `block in rename_projects'
/usr/share/gitlab/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_projects.rb:9:in `rename_projects'
/usr/share/gitlab/lib/gitlab/database/rename_reserved_paths_migration/v1.rb:20:in `rename_wildcard_paths'
/usr/share/gitlab/db/post_migrate/20170525140254_rename_all_reserved_paths_again.rb:93:in `block in up'
/usr/share/gitlab/db/post_migrate/20170525140254_rename_all_reserved_paths_again.rb:93:in `each'
/usr/share/gitlab/db/post_migrate/20170525140254_rename_all_reserved_paths_again.rb:93:in `up'
Caused by:
PG::UndefinedTable: ERROR: relation "features" does not exist
LINE 5: WHERE a.attrelid = '"features"'::regclass
^
/usr/share/rubygems-integration/all/gems/peek-pg-1.3.0/lib/peek/views/pg.rb:17:in `async_exec'
/usr/share/rubygems-integration/all/gems/peek-pg-1.3.0/lib/peek/views/pg.rb:17:in `async_exec'
/usr/share/gitlab/lib/feature.rb:8:in `feature_names'
/usr/share/gitlab/lib/feature.rb:31:in `persisted_names'
/usr/share/gitlab/lib/feature.rb:39:in `persisted?'
/usr/share/gitlab/lib/gitlab/gitaly_client.rb:222:in `feature_enabled?'
/usr/share/gitlab/lib/gitlab/gitaly_client.rb:255:in `migrate'
/usr/share/gitlab/lib/gitlab/shell.rb:338:in `mv_namespace'
/usr/share/gitlab/lib/gitlab/shell.rb:154:in `mv_repository'
/usr/share/gitlab/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_projects.rb:54:in `move_repository'
/usr/share/gitlab/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_projects.rb:26:in `move_project_folders'
/usr/share/gitlab/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_projects.rb:21:in `rename_project'
/usr/share/gitlab/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_projects.rb:10:in `block in rename_projects'
/usr/share/gitlab/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_projects.rb:9:in `rename_projects'
/usr/share/gitlab/lib/gitlab/database/rename_reserved_paths_migration/v1.rb:20:in `rename_wildcard_paths'
/usr/share/gitlab/db/post_migrate/20170525140254_rename_all_reserved_paths_again.rb:93:in `block in up'
/usr/share/gitlab/db/post_migrate/20170525140254_rename_all_reserved_paths_again.rb:93:in `each'
/usr/share/gitlab/db/post_migrate/20170525140254_rename_all_reserved_paths_again.rb:93:in `up'
Tasks: TOP => db:migrate