How to plan a Metabase upgrade onto the 64 LTS line
Moving a self-hosted Metabase onto the 64 LTS line means replacing the running JAR or container image with the 64 release and letting Metabase migrate its application database on startup. The path you follow depends on the version you run today. If your instance is on release 40 or later, you can plan a single upgrade to 64 after the backup and single-node steps. If it is older than 40, plan a release-by-release path, because the documented route from those versions steps through each release in order. Confirm the starting version and the exact steps in the upgrading documentation before you schedule anything.
The LTS line suits a stable production instance because it changes less often than the monthly releases. Metabase 64 is an LTS release published on 16 September 2026, with end of life on 1 December 2027, according to Metabase's version support page. Metabase supports LTS versions for 14 months, while non-LTS versions usually reach end of life after about two months. Fewer major moves mean fewer chances to rework dashboards, permissions and embedding after each change. Check whether the 64 end-of-life date fits your own planning calendar, and compare it with Metabase 65, which was released on 12 October 2026.
The work is scoped per instance, not per company. Each Metabase instance has its own version, application database, cluster size, configuration, authentication setup and embedding use, so two instances in the same organization can need different paths. Note the application database engine first. An instance still on the embedded H2 database needs the documented load-from-h2 step to move to PostgreSQL or MySQL, and that step must run with the same Metabase version that last updated the H2 file. Record which plugins, SSO settings and embedded dashboards depend on the instance so you can test them after the move.
Several decisions belong in the plan before the change window. Set the backup point, because the docs recommend backing up the application database before any upgrade. For a major upgrade, reduce the cluster to a single node because of a migration lock, then restore the full cluster afterward. Decide who can call a rollback and how long a restore takes in your environment. Rollback can be done by restoring the pre-upgrade application database backup, which the docs recommend, or by running the migrate down command with the newer JAR. Rehearse the restore in a copy of the environment so the team knows the real duration before production depends on it.
When you ask a partner to plan this work, ask for the starting-version assessment, the upgrade path with each stop named, a rehearsal in a non-production copy, a written rollback runbook and a list of post-upgrade checks for users, permissions and embedded content. Ask how the fixed-scope agreement covers each stop in an older-version path, and what a second rehearsal would involve if the first one fails. Keep the backup, restore and access records as evidence of the change. DeployOpen plans and runs the work inside your own infrastructure, and the written scope sets deliverables and timing before work begins.
What changes in Metabase 64 LTS for your upgrade
This table lists the changes that affect planning a move to Metabase 64 LTS, with the effect of each on your instance and the step to take before the upgrade. Read each row against your current version and your deployment layout, since the single-node and version-path rows apply only to some environments. The main takeaway is that the migration runs automatically at startup, so the backup and rollback steps must be ready before you swap the JAR or container image.
| Change | Impact | Action needed |
|---|---|---|
| Release line and end of life | 64 is an LTS release published 16 September 2026, with end of life on 1 December 2027. | Record 1 December 2027 as the end-of-life date and schedule your next upgrade before it. |
| Newer release available | Metabase 65 was released on 12 October 2026, so 64 is not the newest line at publication. | Confirm which line you are targeting and document the reason in your upgrade plan. |
| Automatic application database migrations | Migrations run on startup after the JAR or container image is swapped, so schema changes happen at first boot. | Back up the application database first and rehearse the upgrade on a copy of your data. |
| Single node for major upgrades | The docs recommend reducing a cluster to a single node because of a migration lock. | Plan a maintenance window, reduce the cluster, and confirm the steps against the upgrade docs. |
| Version path from older releases | Upgrades from versions older than 40 should go release by release rather than in one jump. | Identify your current version and plan intermediate upgrade stops if you are on an older release. |
| Rollback path | Rollback restores the pre-upgrade application database backup (recommended) or runs migrate down with the newer JAR. | Keep a verified backup until validation is complete and test the restore procedure beforehand. |
| Behavior changes, removed features and deprecations | Items specific to 64 are not covered in this table and can affect dashboards, permissions or integrations. | Check the Metabase release notes for your exact target build before the plan is final. |
Why stay on the LTS line and when to move
Staying on an LTS line is mainly a decision about how long security fixes keep arriving. Metabase LTS versions are supported for 14 months, while non-LTS versions usually reach end of life after about 2 months. Every release receives bug fixes and security updates until its own end-of-life date, so a non-LTS version is still patched while it is current. The difference is the window. A non-LTS release gives your team a short time to test and move before patches stop, which is why teams that must keep a stable platform usually plan around the LTS line. Check the Metabase version support page before you start, because the dates that govern your plan are the ones published for the exact version you will run.
For this upgrade, the planning consequence starts with the date. Metabase 64 is an LTS release published on 16 September 2026, and it is supported until 1 December 2027. That gives your team a fixed horizon by which it must either run a supported release or have moved on to another one. Work backward from that date against your change calendar. Count the change windows you have before it, and confirm whether a single window can cover the application database backup, the JAR or container swap, the single-node step required for a major upgrade, and post-upgrade verification. Do not treat the end-of-life date as the deadline for the move. Treat it as the outer limit, and schedule the work well inside it.
The choice between 64 and 65 depends on two inputs: your change window and the controls you must evidence. If your change calendar allows one planned window with limited room for rework, a long patch horizon on the LTS line reduces the number of times you must repeat this exercise. If your assessors require a version under vendor patching for a defined period, document the 64 end-of-life date in your control narrative. Metabase 65 was released on 12 October 2026, so confirm its support window on the version support page before you compare it with 64. Then ask whether any behavior your controls depend on, such as SSO, permissions or audit logging, changes between the two releases, and whether your team can test that before production.
Write the decision down before the change window is booked. Record the target version, its end-of-life date, the window and the rollback path. The rollback path is restoring the pre-upgrade application database backup, which is the recommended method, or running the migrate down command with the newer JAR. Also record the controls each target version must support. Some of them depend on your plan. SSO, row and column level permissions, multi-tenant data segregation and usage analytics and auditing are included only in the Pro and Enterprise plans. If your current plan does not include a control your evidence requires, that gap is a licensing question to resolve before you pick the target, not during the upgrade.
Back up the Metabase application database before any upgrade
Metabase runs its application database migrations on startup after the JAR or container image is swapped, so the backup, inventory, staging rehearsal and sign-off all protect the same outcome: a rollback you have tested. Work through the four cards in order before you change anything in production. Each one answers a question the next one depends on.
Application database backup and tested restore
The application database holds saved questions, dashboards, users, groups, permissions and settings, so it is the state you must protect. The Metabase upgrading documentation recommends backing up this database before the new JAR or container starts. The same backup is the primary rollback route, so take it, store it outside the upgrade host and restore it into a scratch database. Confirm that you can sign in, open a dashboard and run a saved question before you rely on it.
Inventory of the running instance
Record the exact current version, the JAR file name or container image tag, and the application database type and version, including whether it is PostgreSQL, MySQL or still the embedded H2 database. List every plugin or custom driver loaded from the plugins directory, along with the environment variables, reverse proxy settings and any SSO or embedding configuration such as JWT, SAML, OIDC, or embedding secrets. This list is what you compare against after the swap, so a setting that changed behavior can be traced to a specific change.
Staging copy to rehearse the upgrade
Restore the production backup into a separate staging database and start the target version with the same configuration, plugins and drivers that production uses. Watch the startup log for migration errors, record how long the migration takes, and test sign-in, dashboards, scheduled deliveries and any embedded content. Staging is where incompatible plugins or drivers should surface, so that production users do not find them first. Repeat the rehearsal if you change the target version or the configuration.
Change window and sign-off
Agree a change window with the people who own dashboards, collections and permissions, because they are the ones who will confirm that results look right after the upgrade. For a major upgrade, plan to reduce a clustered deployment to a single node first, since the documentation describes a migration lock. Record who can call a rollback and the point at which they would do so. Check the target line against Metabase version support: Metabase 64 is an LTS release published on 16 September 2026 with end of life on 1 December 2027.
The supported upgrade path from versions older than 40
If your Metabase instance runs a version older than 40, the upgrade documentation recommends moving to 64 one release at a time, not in a single jump. Treat the intermediate stops as part of the project plan from the start, because they determine how many upgrade cycles you run, how many backups you take, and how many test rounds your team needs. A direct swap of the JAR or container image from a very old version to 64 is outside the documented path, so it should not be the plan for any environment, including a test instance that will later be promoted. Start by confirming the exact running version. Check the version shown in the Metabase admin area, the image tag or the JAR filename, and record it with the application database type. Then use the upgrade documentation for that starting version to list the intermediate releases to stop at, in order. Do not assume a list from memory or from another customer's upgrade. Ask the partner or your own team to write the sequence into the change plan with a target release for each step, and confirm that the sequence ends at 64 and not at a release that will reach end of life sooner.
Each intermediate stop is a full upgrade. When Metabase starts on a new JAR or container image, it runs its application database migrations automatically. Those migrations change the schema and stored data that Metabase uses for questions, dashboards, permissions, users and settings, and older versions often carry migrations that were written for a different database layout. Because each step applies its own set, the application database changes once per stop. Plan for the startup time and the migration output at every step, and review the logs for errors before you move to the next release. The single-node rule for major upgrades still applies. The documentation asks you to reduce a cluster to one node while migrations run because of a migration lock. Schedule the node reduction, the upgrade and the return to a cluster separately for each stop that crosses a major version boundary, and confirm with the upgrade documentation which stops count as major for your path.
Each step needs its own application database backup and its own smoke test. The reason is rollback. Metabase can be rolled back either by restoring the pre-upgrade application database backup, which the documentation recommends, or by running the migrate down command with the newer JAR. Restoring a backup taken before step three returns the instance to the state after step two, and a single backup taken before step one would force you to return to the starting version and repeat the whole path. Name each backup with the source and target versions, store it outside the instance, and confirm that a restore works on a test host before you rely on it. A smoke test after each stop should be short and repeatable. Sign in with a standard user and an administrator account, open a sample of saved questions and dashboards, run a query against each connected data source, check that scheduled subscriptions and alerts still send, and confirm that any single sign-on or LDAP login still works. Record the results so that a failure can be tied to a specific release.
Ask for a written plan before work starts. The plan should list the starting version and the confirmed stops from the documentation, the backup and restore method for each stop, the test cases in the smoke test, the maintenance window needed for each stop, and the point at which the team will decide to roll back. Ask who will perform each restore and how long a rollback is expected to take in your environment, since those depend on your database size and infrastructure. Finally, confirm the lifecycle of the target. The Metabase version support page lists Metabase 64 as an LTS release published on 16 September 2026, with end of life on 1 December 2027, so confirm that date on the page before you set the support calendar.
How to swap the JAR or container and run migrations safely
This sequence moves a self-hosted Metabase onto the 64 LTS line in a controlled order. It records the starting state, creates a verified application database backup as a rollback point, and starts the upgraded application only after the cluster is reduced to one node. Each step closes with a check, so you know when to continue, stop or roll back.
Freeze configuration and record the current version
The engineer responsible for the instance pauses configuration changes and records the running Metabase version, the JAR path or container image tag, the Java or container runtime, and the application database type and version. Copy the environment variables and configuration files so the starting state can be recreated. Confirm that no one else is changing the instance during the window. If the current version is older than 40, stop here and plan the release-by-release path first. Done when the record is stored with the change ticket and you can name the exact version you are upgrading from.
Back up and verify the application database
The engineer takes a backup of the Metabase application database, which holds users, saved questions, dashboards, permissions and settings. Use the backup method your database platform supports and store the copy outside the Metabase host. Verify it by restoring it to a separate database and confirming that the restore completes without errors and that a test Metabase instance can read the restored content. Record the backup identifier and location. This verified backup is your rollback point: if the upgrade fails, you restore it before retrying.
Reduce the cluster to a single node
For a major upgrade, the Metabase docs recommend running one node because of a migration lock, so only one instance runs the migrations. Remove the other nodes from the load balancer, then stop them. Confirm that the load balancer sends traffic only to the remaining node and that the stopped nodes are recorded with their configuration so they can rejoin the cluster after the upgrade. Done when one node is the only active target and the others are confirmed stopped.
Stop the Metabase service
Stop the remaining node cleanly using your service manager or orchestrator, so no queries, scheduled jobs or subscriptions are running when the JAR or image changes. Wait for the process to exit and check the logs for a clean shutdown message. Confirm that no process is listening on the Metabase port. Keep the current JAR file or container definition on hand so it can be restored if needed. Done when the service is confirmed stopped and the previous artifact is retained.
Replace the JAR or container image with version 64
The engineer deploys Metabase 64 by swapping the JAR file or changing the container image tag to the 64 LTS release. Keep a reference to the old JAR or image so you can return to it. Do not change the application database connection settings in the same change, so any later failure has one cause to investigate. Confirm that the checksum or image digest matches the release you obtained from the official distribution channel. Done when the deployment definition points to 64 and the previous artifact is retained.
Start Metabase and let migrations run
Start the single node and let it run the application database migrations automatically. Watch the logs until the application reports that it is ready to serve requests. Do not restart the process while migrations are running, because an interrupted migration can leave the database partly upgraded. Sign in to the admin settings and confirm the version reported is 64. Done when startup completes without migration errors and the web interface responds. If migrations fail, stop, keep the backup, and move to the decision step.
Check login, connections and automated work
Sign in as an administrator and as a standard user, then check the functions that often break quietly after an upgrade. Confirm that each data source connects and runs a test query. Confirm that scheduled jobs and subscriptions are present and run on their next trigger. Load a test page that contains embedded content, and compare group permissions and collection access with the record from the first step. Log any mismatch with an owner and a severity. Done when every item is passed or logged with an owner.
Decide whether to keep the upgrade or roll back
This is the decision point, made after the first successful startup and checks. If every check passed, record the result, restore the other cluster nodes one at a time on version 64, and keep the pre-upgrade backup for the retention period your policy sets. If a check failed, choose between fixing forward and rolling back. Rollback is either restoring the pre-upgrade application database backup, which the Metabase docs recommend, or running the migrate down command with the newer JAR. Confirm the choice in the change record before any further action.
Why major upgrades need a single node first
For a major Metabase upgrade, the docs recommend reducing a cluster to a single node before you swap the JAR or container. The reason is the migration lock on the application database. Metabase runs its application database migrations automatically on startup, and those migrations need exclusive control of the schema while they run. If older nodes keep serving traffic and writing to the same database during that step, the upgrade can stall or leave the instance in a state that is hard to recover. Before you schedule the window, read the upgrade documentation for your topology and confirm the exact sequence for your setup, whether that is a VM group, containers behind a load balancer, or an orchestrated deployment.
The reduced capacity window is the first thing to plan around. With one node serving, every dashboard load, ad hoc query, scheduled subscription and alert depends on that single instance. Pull current concurrency and peak usage from your own monitoring, not from estimates, and pick a window outside your heaviest reporting periods. Tell analytics users, data owners and anyone who depends on scheduled delivery when the window starts and when they should expect normal service. Decide in advance whether scheduled jobs will be paused, moved or allowed to queue, because a job that fires during the migration can add load or fail in ways that are hard to read later.
Removing and re-adding nodes needs a written order of operations. Drain the nodes you are removing from the load balancer, stop them, and keep their software at the old version until the upgraded node is healthy. Confirm that the application database is the same one all nodes point to, and that every node uses the same encryption key and configuration values before you start the next node. Add the remaining nodes back one at a time on the new version, checking health after each one. Ask the team that owns the cluster to record which node was upgraded first, which version each node runs and when each was re-added, so that a later problem can be traced to a specific step.
The load balancer and session behavior change during the window. With one node, the balancer should send all requests to that node and stop routing to nodes that are down or still on the old version. Health checks need to reflect the single-node state, or the balancer may mark the only healthy node as failed. Test whether user sessions survive the switch by logging in, upgrading, and confirming that an existing session still works or that users are prompted to sign in again. If your deployment depends on sticky sessions or node-local state, confirm how it behaves before the window. Include rollback in the plan: if the upgraded node fails, restore the pre-upgrade application database backup before you re-add any other node.
What makes a Metabase upgrade take longer
This table lists the factors that most change the effort of moving a self-hosted Metabase onto 64 LTS, with the direction each one pushes the work. Read each row against your current instance, then use the last column to gather the facts a partner or internal team needs before estimating. The main takeaway is that version distance, application database type and the size of your content usually matter more than the upgrade command itself.
| Driver | Effect on effort | What to check |
|---|---|---|
| Starting version distance from 64 | Older versions need more intermediate upgrades, and versions older than 40 must be stepped through release by release. | Confirm the exact current version and list every release between it and 64 LTS. |
| Application database type and size | An embedded H2 database must be moved to PostgreSQL or MySQL first. Larger databases lengthen backups and restore tests. | Record the engine, version, data size and whether a restore from backup has been tested. |
| Cluster topology | Major upgrades require reducing the cluster to a single node because of a migration lock, which adds scheduling and rejoin steps. | Count nodes, identify the load balancer and agree a maintenance window with users. |
| Number and type of connected data sources | Each database or warehouse needs a connection check and a sample query after the upgrade, and driver changes can affect results. | List every connection, its driver version and an owner who can confirm expected query results. |
| Custom plugins or drivers | Custom components must be checked against the new release, and rebuilding or replacing them can add the most unplanned work. | Confirm the maintainer, source access and any compatibility statement for 64 LTS. |
| Embedding and SSO configuration | Embedded dashboards, signing settings and SSO connections each need testing. SSO-based embedding requires a Pro or Enterprise plan. | Identify the embedding method in use, the identity provider, and whether your plan covers SSO-based embedding. |
| Volume of dashboards and subscriptions | More dashboards, alerts and scheduled subscriptions expand the smoke test scope and the time spent confirming delivery. | Inventory dashboards, alerts and subscriptions, then select a representative set for testing. |
| Compliance evidence requirements | Assessors may ask for change records, backup proof, test results and access reviews, which adds documentation work around the upgrade. | Ask your assessor which evidence they expect. Independent auditors issue any audit opinion. |
Rolling back Metabase after a failed upgrade
Decide your rollback route before the change window opens. Metabase's upgrade documentation describes two ways to undo an upgrade: restoring the application database backup taken before the change, which the docs recommend, or running the migrate down command with the newer JAR. The two behave differently, so the change plan should name the route you will use, the person who will execute it, and the conditions that trigger it. The restore route only works if the backup exists, is complete and has been checked. Confirm the backup method for your application database engine, whether PostgreSQL or MySQL, and store the backup where the rollback team can reach it during an outage.
A restore returns the application database to the state it had when the backup was taken. Anything written after that point is lost, including saved questions, dashboards, collections, user accounts, permission changes, database connection settings and alert or subscription configurations. If business users worked in the upgraded instance for hours, that work disappears unless you reconcile it. Decide in advance how to handle the window. You can accept the loss and tell users which content to recreate, or you can export content created during the window, such as dashboards and questions, and rebuild it after the restore. Record that decision with the business owners before the upgrade starts, not during the rollback.
Running migrate down with the newer JAR reverses schema migrations in place instead of replacing the database, which can keep changes made after the upgrade. That benefit depends on the reverse migrations completing cleanly, and the newer JAR must still start far enough to run them. A failed migration can leave the database in a state that neither route handles well. Confirm with the upgrading documentation which versions support this path and what state the database must be in. Treat migrate down as the secondary option, and keep the verified backup in place whichever route you choose so you always have a known-good copy to restore from.
Rehearse the restore on staging before the change window. Restore the pre-upgrade backup into a staging environment that matches production's database engine and version, start the older JAR against it, and check sign-in, data source connections, a sample of saved questions and dashboards, and scheduled jobs. Time each step, record every manual reconciliation action and note which users or teams need notice. The rehearsal should also confirm that the single-node reduction required for major upgrades can be reversed in your environment. Use the results to set go or no-go criteria and to define how long the team will wait before starting the rollback.
What do buyers ask about upgrading Metabase to 64 LTS?
How much does a Metabase 64 LTS upgrade cost?
Cost depends on the work the written scope covers. The main drivers are your starting version, your deployment topology (single node or cluster, JAR or container, reverse proxy and load balancer), your application database (embedded H2, PostgreSQL or MySQL), the number of integrations, embedding setups and SSO configurations that must be retested, and how many business testers are needed for sign-off. Planning, backup verification, the upgrade stops and testing are one-time costs. Recurring costs only arise if you add a retainer for support or future upgrades. Ask for a quote that lists each phase, what is tested, who signs off and how a rollback would be handled. DeployOpen does not publish a price list, and a quote follows from the written scope. Licensing is a separate question: Metabase's pricing page lists Open Source at no cost and Enterprise by quote starting at $20,000 per year, so confirm which plan you run before scoping.
How long does a Metabase 64 upgrade take, and why?
The duration depends mainly on your starting version and your topology, so no single figure applies to every instance. Metabase's upgrading documentation recommends upgrading release by release when starting from versions older than 40, which adds one stop and one round of testing per release. A single node with a PostgreSQL application database and few integrations is the simplest case. A cluster must be reduced to one node for a major upgrade because of the migration lock, then scaled back out, and reverse proxies, embedding and SSO each add verification steps. Ask for a written schedule that names each upgrade stop, the backup and restore test, the business test window and the change approval step. Metabase 64 is an LTS release published on 16 September 2026 with end of life on 1 December 2027, so align the timing with that window.
What must our internal team provide for a Metabase upgrade?
Your team provides access, backup ownership, testers and change approval. Access means an administrator account in Metabase, shell or container access to the hosts or orchestrator, the ability to take and read database dumps or snapshots, and credentials for connected data sources so queries can be checked after the change. Backup ownership means a named person confirms the application database backup exists, can be read, and can be restored to a test location before the upgrade starts, since that restore is the recommended rollback path. Business testers should be named by team or dashboard owner, and they check saved questions, dashboards, subscriptions and permissions after the upgrade. Change approval means the change window, freeze dates and sign-off authority are agreed in advance, along with the owner of any DNS, certificate or proxy changes.
Can our internal team upgrade Metabase without outside help?
Yes, a team with Linux or container operations experience and database administration skills can upgrade a simple single-node instance by following Metabase's upgrading documentation. The core sequence is to back up the application database, stop the service, swap the JAR or container image, start it so migrations run automatically, and verify the result. Internal teams usually need help with the parts that a generic guide covers lightly: moving from H2 to PostgreSQL or MySQL with the load-from-h2 command, which must run with the same Metabase version that last updated the H2 file, stepping through very old versions, reducing and restoring a cluster for the migration lock, validating SSO setups (JWT, OIDC, SAML and SCIM require Pro or Enterprise), and retesting embedded dashboards. Before deciding, ask a partner to confirm which of these apply to your instance.
What is the rollback plan if the Metabase 64 upgrade fails?
The recommended rollback is to restore the application database backup taken before the upgrade and start the previous JAR or image. Metabase also documents running the migrate down command with the newer JAR, which reverses schema changes through the migration path. Restoring the backup is usually the more predictable option because it returns the database to a known state, but it discards anything written after the backup, such as new saved questions, dashboard edits or users created during the change window. A written scope should state the backup method and storage location, the restore test performed before the change, the decision point and owner for rolling back, and how users are informed. Keep the previous JAR or image available until business testers sign off.
What does DeployOpen cover in a Metabase 64 LTS upgrade?
DeployOpen plans, implements, backs up, upgrades, documents and supports self-hosted open-source platforms inside your own infrastructure, so for this topic the work can cover planning, the upgrade stops, the backup and restore test, verification and handover. Most engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts. A written scope for this upgrade should list the starting version and topology, the application database, the upgrade stops, the integrations and embedding setups to test, the business test plan, the change window and the rollback method. Ongoing upgrades and support are available as retainers. Confirm with the vendor and your own environment any details the scope depends on, such as supported database versions for your target line.
Does a Metabase upgrade affect our compliance evidence?
Yes, an upgrade changes a system that auditors may review, so change records matter. Useful evidence usually includes the pre-upgrade backup record, the restore test result, the change approval, the business test results and the post-upgrade configuration. DeployOpen prepares systems, controls and evidence for compliance assessments, but it does not issue audit reports, attestations or certifications. Independent auditors and certification bodies make those determinations. Ask the written scope to name which evidence is produced and where it is stored. Also confirm with your auditor which control requirements for change management and access review apply to your environment before the change window, since the answer depends on the framework you are assessed against.
How DeployOpen scopes, delivers and supports the Metabase upgrade
DeployOpen plans the Metabase 64 LTS upgrade as a fixed-scope engagement, with scope, deliverables and timelines agreed in writing before work starts. The work runs in your own infrastructure, with the application database backed up and the rollback path confirmed before any JAR or container change. Ongoing support, upgrades and continuous testing are available as retainers after handover.
How we scope
- The written scope names your current Metabase version, application database and hosting model before any change.
- It records every upgrade step, including any intermediate releases if your version is older than 40.
- Fixed scope, deliverables and timelines are agreed in writing, and the quote follows from that scope.
How we build
- Back up the application database and store the copy outside the upgrade host before swapping anything.
- Reduce a clustered deployment to a single node for the major upgrade, because of the migration lock.
- Swap the JAR or container image, let automatic migrations run on startup, then check logs and sign-in.
How we hand over
- Documented runbook covering backup schedule, upgrade steps, validation checks and the rollback decision point.
- Rollback is a rehearsed restore of the pre-upgrade application database backup, with migrate down as the alternative.
- Your team receives the configuration, version record and sign-off checklist for audit and change records.
How we support
- Ongoing support, upgrades and continuous testing are available as retainers after handover.
- Track the version support window: Metabase 64 LTS reaches end of life on 1 December 2027.
- Plan the next upgrade from 64 before end of life, reviewing each release's notes and backup steps first.

