Skip to content
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

Check if NaN before incrementing highestMigrationNumber #7214

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

lloydhumphreys
Copy link

@lloydhumphreys lloydhumphreys commented Nov 10, 2024

I ran into the following issue. If your first D1 migration is one you create and name manually with a single word (for example init.sql), then Wrangler will name all subsequent migrations 0NaN-... because there are no _ characters to split on so it'll take the word as a number.

I added a check for if the value is a number, and return 0 if not. So it'll start incrementing from 0 for new migrations created via wrangler.


  • Tests
    • Not included. I wasn't sure they were necessary - if they are, I'll figure out how to do it.
  • E2E Tests CI Job required? (Use "e2e" label or ask maintainer to run separately)
    • I don't know
    • Required
    • Not required because:
  • Public documentation
    • Cloudflare docs PR(s):
    • Documentation not necessary because: I think people would presume it works like this already

@lloydhumphreys lloydhumphreys requested review from a team as code owners November 10, 2024 14:49
Copy link

changeset-bot bot commented Nov 10, 2024

🦋 Changeset detected

Latest commit: 0fb755b

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 2 packages
Name Type
wrangler Patch
@cloudflare/vitest-pool-workers Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copy link
Contributor

github-actions bot commented Nov 13, 2024

A wrangler prerelease is available for testing. You can install this latest build in your project with:

npm install --save-dev https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12584706388/npm-package-wrangler-7214

You can reference the automatically updated head of this PR with:

npm install --save-dev https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/prs/7214/npm-package-wrangler-7214

Or you can use npx with this latest build directly:

npx https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12584706388/npm-package-wrangler-7214 dev path/to/script.js
Additional artifacts:
wget https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12584706388/npm-package-cloudflare-workers-bindings-extension-7214 -O ./cloudflare-workers-bindings-extension.0.0.0-ve4de6b922.vsix && code --install-extension ./cloudflare-workers-bindings-extension.0.0.0-ve4de6b922.vsix
npx https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12584706388/npm-package-create-cloudflare-7214 --no-auto-update
npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12584706388/npm-package-cloudflare-kv-asset-handler-7214
npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12584706388/npm-package-miniflare-7214
npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12584706388/npm-package-cloudflare-pages-shared-7214
npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12584706388/npm-package-cloudflare-unenv-preset-7214
npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12584706388/npm-package-cloudflare-vitest-pool-workers-7214
npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12584706388/npm-package-cloudflare-workers-editor-shared-7214
npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12584706388/npm-package-cloudflare-workers-shared-7214
npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12584706388/npm-package-cloudflare-workflows-shared-7214

Note that these links will no longer work once the GitHub Actions artifact expires.


[email protected] includes the following runtime dependencies:

Package Constraint Resolved
miniflare workspace:* 3.20241218.0
workerd 1.20241218.0 1.20241218.0
workerd --version 1.20241218.0 2024-12-18

Please ensure constraints are pinned, and miniflare/workerd minor versions match.

Copy link
Contributor

@emily-shen emily-shen left a comment

Choose a reason for hiding this comment

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

Hiya, thanks for putting up this PR! lgtm, just a few things to get this in :)

  1. could you add a quick regression test? let me know if you run into any issues. Probably here - https://github.com/cloudflare/workers-sdk/blob/main/packages/wrangler/src/__tests__/d1/migrate.test.ts
  2. there are some formatting errors, should go away if you run pnpm fix
  3. can you add a changeset? should be a patch, and you can generate one by running npx changeset

thanks again for the contribution :)

@CarmenPopoviciu CarmenPopoviciu added the awaiting reporter response Needs clarification or followup from OP label Dec 11, 2024
@emily-shen emily-shen force-pushed the fix-add-fallback-for-d1-migrations branch from c23b1ce to 7267e12 Compare January 2, 2025 14:55
@emily-shen emily-shen added skip-pr-description-validation Skip validation of the required PR description format and removed awaiting reporter response Needs clarification or followup from OP labels Jan 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
skip-pr-description-validation Skip validation of the required PR description format
Projects
Status: Approved
Development

Successfully merging this pull request may close these issues.

4 participants