> ## Documentation Index
> Fetch the complete documentation index at: https://docs.uplifter-curling.com/llms.txt
> Use this file to discover all available pages before exploring further.

# What happens on cutover day?

> Capture your old website, freeze CCM, take the dump, import it, verify it, point the domain, smoke-test — about a minute of machine time on the largest club, and free to roll back until the first payment.

<Note>
  **Must know**

  * The order is fixed: **capture the website → freeze → dump → restore → apply → verify → DNS → smoke test**. Verify must pass before the domain moves.
  * Send a **fresh database dump and file archive** no more than a week before the date. Older than that, the window is not scheduled.
  * Machine time is measured in seconds (about 42 s on the largest club held so far); "under four hours" of downtime is honest by a wide margin.
  * Rollback is free until the first payment on the new system. After that it is a reconciliation, not a revert.
  * **Signups are booked at Confirm, as on CCM.** The import turns on **Book registrations at Confirm** with a 7-day hold. A member who confirms and never pays holds the seat for a week, shows on **UnConfirmed League Signups**, and is then released automatically; CCM warned about this but never did it. Agree the number of days with the club beforehand. See [How do I let members book at Confirm and pay later?](/club/registration-and-signup/how-do-i-let-members-book-at-confirm-and-pay-later).
  * **Registration goes live when the domain moves.** Leagues that were open on CCM's signup arrive open. If your club wants registration closed until an announcement, close those leagues in the admin before the domain is pointed.
</Note>

## Before the day

Weeks ahead, the club's database is rehearsed on a copy: probe, plan, apply, verify — none of which touch the live CCM. The plan is read with the club: what will be created, what is refused, which members and fees need a decision. The club's domain is registered and proven by a TXT record so it is ready to flip, and its DNS TTL is lowered a day ahead so the flip (and a rollback) propagates in minutes.

Within the last week before the window, the club sends a fresh database dump and a copy of the whole Joomla web root. The website capture on the day is checked against them: if the live site has moved on since the data was exported, the cutover is held until fresher files arrive.

Things the club does before the window: export event registrant lists out of Events Booking (they do not migrate), decide the season window, answer the per-league questions the probe could not, and decide whether registration should open at the flip or later.

## The window

<Steps>
  <Step title="Capture the website">
    While CCM is still running, the Uplifter team captures your live public site and serves it as a frozen, exact copy of your old website at your club's address. It has to happen first: once CCM is offline, only the offline page could be captured. A failed capture leaves the site as it was. See [Why is my club's site an exact copy of my old website?](/ccm/your-migration/why-is-my-site-an-exact-copy-of-my-old-website).
  </Step>

  <Step title="Freeze CCM">
    The Joomla site goes into offline mode. From here nothing typed into CCM survives; tell the club.
  </Step>

  <Step title="Dump, restore, re-plan">
    The live database is dumped (this is the artefact of record), restored to a scratch server, and probed and planned again on the fresh data — a stale plan is refused on purpose.
  </Step>

  <Step title="Apply">
    The import writes members, leagues, teams, games, points, money, bookings, volunteers, lockers and the website. Images are copied before any row is written. If it stops part-way it is run again: a second run skips what already landed and creates nothing twice.
  </Step>

  <Step title="Verify">
    Row counts are reconciled, standings are recomputed from the imported games and compared with CCM's own, money is totalled. A red verify means no DNS change.
  </Step>

  <Step title="Point the domain">
    One record change per host by whoever runs the club's DNS. The site answers as soon as resolvers see it, and so does signup: every league that was on CCM's signup (and not marked full) takes registrations from that moment. Within ten minutes the domain is marked live and canonical links and the sitemap switch to it. Members signing in or checking out are sent to `<club>.uplifter-curling.com` and back.
  </Step>

  <Step title="Smoke test">
    Sign in as a member, open a standings page, walk the wizard to Confirm, open the admin Leagues list in the classic view.
  </Step>
</Steps>

## Rolling back

Before the first payment: point DNS back, take the Joomla site out of offline mode, leave the imported club unpublished — a later retry resumes rather than duplicates. After the first payment there is money in the new system with no counterpart in CCM; fix forward, and record the time of that first payment.

## After

If your site is the frozen copy, preview the builder version and switch when you are ready ([How do I switch from the frozen copy to the website builder?](/club/website/how-do-i-switch-from-the-frozen-copy-to-the-website-builder)); the builder's imported pages arrive as drafts — publish them. Check that **Book registrations at Confirm** is on under **Settings → Club Settings**, with the number of days the club agreed. Copy the new display address onto the rink TV. Announce email-code sign-in. See [What should I tell my members?](/ccm/your-migration/what-to-tell-members).

**Related:** [What does the import carry over?](/ccm/your-migration/what-the-import-brings) · [What does the import not carry?](/ccm/your-migration/what-the-import-does-not-bring) · [Do my old Joomla links still work?](/ccm/classic-view/do-joomla-links-still-work)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.