Skip to content

Fix compatibility issues with db-migration #18831

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Sep 28, 2023
Merged

Fix compatibility issues with db-migration #18831

merged 1 commit into from
Sep 28, 2023

Conversation

iQQBot
Copy link
Contributor

@iQQBot iQQBot commented Sep 28, 2023

Description

Fix compatibility issues with db-migration by removing ALGORITHM=INSTANT

  • For MySQL 8.0, this is the default option. Adding it will cause DML statements that don't support instant updates to fail immediately.

  • For MySQL 5.7, it doesn't support this, so removing is safe.

Summary generated by Copilot

copilot: summary

Related Issue(s)

Fixes #

How to test

Documentation

Preview status

Gitpod was successfully deployed to your preview environment.

Build Options

Build
  • /werft with-werft
    Run the build with werft instead of GHA
  • leeway-no-cache
  • /werft no-test
    Run Leeway with --dont-test
Publish
  • /werft publish-to-npm
  • /werft publish-to-jb-marketplace
Installer
  • analytics=segment
  • with-dedicated-emulation
  • workspace-feature-flags
    Add desired feature flags to the end of the line above, space separated
Preview Environment / Integration Tests
  • /werft with-local-preview
    If enabled this will build install/preview
  • /werft with-preview
  • /werft with-large-vm
  • /werft with-gce-vm
    If enabled this will create the environment on GCE infra
  • with-integration-tests=all
    Valid options are all, workspace, webapp, ide, jetbrains, vscode, ssh. If enabled, with-preview and with-large-vm will be enabled.
  • with-monitoring

/hold

@@ -10,22 +10,22 @@ import { columnExists } from "./helper/helper";
export class CodeSyncDropDeleted1695733993909 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<void> {
if (await columnExists(queryRunner, "d_b_code_sync_resource", "deleted")) {
await queryRunner.query("ALTER TABLE `d_b_code_sync_resource` DROP COLUMN `deleted`, ALGORITHM=INSTANT");
await queryRunner.query("ALTER TABLE `d_b_code_sync_resource` DROP COLUMN `deleted`");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would make sense to use ALGORITHM=INPLACE, LOCK=NONE here, as it's quite a lot of data. Using this is a proven pattern with v5.7 and docs on v8 still show support.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We already finish migration, so it's won't affect us, dedicated user don't have large data, so I think it's fine

@AlexTugarev
Copy link
Member

/unhold

@roboquat roboquat merged commit d18ee26 into main Sep 28, 2023
@roboquat roboquat deleted the pd/fix-migration branch September 28, 2023 05:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants