mirror of
https://github.com/actualbudget/actual.git
synced 2026-07-16 07:04:23 -05:00
[Bug]: Error: Missing migration file: 1763873568237-server-global-prefs.js #2873
Closed
opened 2026-02-28 20:31:13 -06:00 by GiteaMirror
·
7 comments
No Branch/Tag Specified
master
dependabot/npm_and_yarn/npm_and_yarn-cd62b4b37a
api-browser-custom-data-dir
tabedzki/feat/replacing-month-picker-with-day-picker
delay-initial-sync-until-loaded
jfdoming/mobile-app-build
cross-version-sync-compat
jfdoming/api-tokens-part-1
jfdoming/api-tokens-part-2
jfdoming/api-tokens-part-3
jfdoming/mobile-app-updates
claude/budget-version-migration-compat-151jlr
claude/worker-error-serialization-9iqtl7
claude/react-table-library-research-afx83z
claude/issue-8401-regression-test-9nw9l3
jfdoming/mobile-app-foundation-part-1
jfdoming/mobile-app-scaffold
release
ai-fix-cleanup-def-8290
claude/relaxed-shannon-jusywa
claude/fervent-keller-s6f2fq
claude/determined-feynman-st1y9z
claude/wizardly-einstein-vi2wce
claude/sweet-albattani-7nseio
feat/bank-sync-per-budget-file
claude/affectionate-cannon-y0kc82
claude/dependabot-findings-m9pgmb
claude/mac-app-ios-publish-zjs1lz
claude/vigilant-tesla-aiiyos
depot-migrate-secrets-1781296330308
claude/quirky-cerf-v5qck7
claude/animation-removal-alternative-2etfh1
claude/netlify-preview-comments-consolidate-9XPYa
osc/7391-error-boundaries-reports
claude/pensive-dijkstra-7DYui
claude/server-app-version-mismatch-HTCGv
claude/pr-8027-review-feedback-mELuO
claude/zealous-wozniak-e5pO0
claude/intelligent-heisenberg-BSHJq
claude/translation-download-refactor-jFRsO
claude/mobile-performance-ideas-G9PAO
claude/github-issue-7988-5A5ly
blacksmith-migration-ff70d2d
claude/great-mayer-KRvOk
claude/react-native-ios-compilation-fcJh5
claude/serene-goldberg-58xv0
claude/kind-euler-LVG3K
release-automation/edge-nightly
7710-bundle-migrations
claude/fix-docker-build-error-WMfed
claude/llm-compatible-release-notes-t20Nr
7710-tests-tdd
cursor/transaction-table-rewrite-f077
claude/plan-ci-secure-context-OtEe1
claude/fix-issue-7667-DPXi3
cursor/resolve-pr-7449-ee11
claude/fix-typescript-build-error-JPtZ5
copilot/add-repository-configs-to-packages
worktree-compressed-drifting-ritchie
claude/api-consumer-verification-kfz1K
pr-7454
claude/fix-issue-7410-LLLQ4
revert-7281-generate-icons
react-query-useSchedules
copilot/sub-pr-6140
package-upgrades
v26.7.0
v26.6.0
v26.5.2
v26.5.1
v26.5.0
v26.4.0
v26.3.0
v26.2.1
v26.2.0
v26.1.0
v25.12.0
v25.11.0
v25.10.0
v25.9.0
v25.8.0
v25.7.1
v25.7.0
v25.6.1
v25.6.0
v25.5.0
v25.4.0
v25.3.1
v25.3.0
v25.2.1
v25.2.0
v25.1.0
v24.12.0
v24.11.0
v24.10.1
v24.10.0
v24.9.0
v24.8.0
v24.7.0
v24.6.0
v24.5.0
v24.4.0
v24.3.0
v24.2.0
v24.1.0
v23.12.0
v23.11.0
v23.10.0
v23.9.0
v23.8.1
v23.8.0
v23.7.2
v23.7.1
v23.7.0
v23.6.0
v23.5.0
v23.4.2
v23.4.1
v23.4.0
v23.3.2
v23.3.0
v23.2.9
v23.2.5
v23.1.12
v22.12.9
Labels
Clear labels
AI generated
API
bank sync
budgeting
bug
can’t replicate
dependencies
docker
documentation
electron
experimental feature
feature
feedback
goal templates
good first issue
help wanted
importers
maintenance
needs info
needs testing
needs triage
needs votes
openid
payees
pull-request
regression
reports
responsive
rules
schedules
server
✨ merged
split transactions
tech debt
tech-support
theme
transaction import
transaction reconciliation
transactions
translations
upstream
user interface
✅ approved
wontfix
Mirrored from GitHub Pull Request
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/actual#2873
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @lavishtravel79 on GitHub (Jan 30, 2026).
Verified issue does not already exist?
What happened?
This morning I noticed that Actual would no longer sync with my Server. I use Docker Containers and have one for Edge on Port 4006, and one for Latest on 5006. Each instance is using it's own database, so Edge is on a different Database than Latest. Today I noticed my Latest container keeps failing with the following error:
Error: Missing migration file: 1763873568237-server-global-prefs.js
Node.js v22.21.1
/app/node_modules/migrate/lib/load-migrations.js:83
The odd part is my Edge Container is working just fine, as I updated that about 2 weeks ago to test out the upcoming release. I haven't changed anything that I know of. I've rebuilt the Latest container but the issue keeps happening. I did a successful bank sync yesterday with Latest and it worked just fine, so unsure what could of changed overnight and how to resolve this error it keeps throwing.
My version shows as 26.1.0 which is what it's been on since the release earlier this month
How can we reproduce the issue?
I'm not sure how you would reproduce the issue as it's specific to my setup with the Docker Environment.
Where are you hosting Actual?
Docker
What browsers are you seeing the problem on?
Chrome
Operating System
Windows 11
@MatissJanis commented on GitHub (Jan 30, 2026):
Once a desktop app, mobile app, web app or any other version of actual uses the edge version - you cannot move back to the latest one (because that might mean loss of data).
This is not a bug.
Going forward I would recommend either using the latest version or edge. Never both.
@MatissJanis commented on GitHub (Jan 30, 2026):
To explain more:
Your data is stored locally, on your device. That's the database.
With new features we sometimes run db migrations. To add tables, modify columns or do other things.
These migrations run on your local database as soon as you open the app.
If you open edge (and thus run the migrations).. and then move back to "latest" (which is an older version) - the local database becomes incompatible. It expects to see "edge", but is seeing "latest" and thus there is an error that you see.
@lavishtravel79 commented on GitHub (Jan 30, 2026):
Why would it just start failing yesterday if I updated my Edge Container about 1 week ago? Even though I have two separate containers, each using a different database, it will still pose problems? How do you all test in a different environment then and still use stable at the same time? I may be misunderstanding something.
If my "local database" is called Test and is running at myserver:4006 (edge), that wouldn't be separate from my "local database" called Live Database that is running at myserver:5006 (Latest)?
Or is the "local database" something unique from my actual databases that I use in Actual? Still confused why it took several days for the issue to appear when I updated the Edge Container on January 25th, but was successfully running Bank Syncs the past 4 days in my Latest Container which is now failing.
@MatissJanis commented on GitHub (Jan 30, 2026):
I'm not exactly sure how it happened for you, but somehow you loaded the edge build with both your budget files. And thus the migration was applied to the budget. And thus it can't safely go back.
Maybe you have some automation via the api? Those run the migrations too.
But yea.. it's only guesswork from me. The fact of the matter is that you're attempting to access a budget file that has been migrated to edge by using the "latest" version (ie an older version).
@MatissJanis commented on GitHub (Jan 30, 2026):
Fyi: when I say "local database" - I mean exactly that. A database saved on your device, locally, in browser memory.
It is not stored in the docker env (altgough it does have a backup), it is not stored on a server or any other external source. Literally on your local machine.
This can be quite confusing to think about. It's not a classical setup where the DB is on the server (wherever that might be) and thus you can have multiple instances of the database. It is - instead - on your local device. As only a single database. Even if you host AB on 100 different servers - that's still only a single local database that all those servers share.
(I am paraphrasing and simplifying things.. but that's the jist of how local-first CRDTs work)
@lavishtravel79 commented on GitHub (Jan 30, 2026):
Appreciate the info. I guess the easiest solution is to wait for the upcoming release then, and when I pull the updated Latest Container it'll then be back on the same version as Edge was a few days ago and will fix itself.
I don't use the API, I simply use the Compose file I have that specifies Edge and the specific Port # to the Edge Container I have. I've never changed my compose file that specifies the Latest Build to its own specific Port #.
@MatissJanis commented on GitHub (Jan 30, 2026):
Either wait it out or you can also export the budget file on edge. And then import in the other version.
This might mean data loss though, so generally not recommended.