UK software developers since 2006 · fixed-price quotes · you own the code01623 650333 · info@dijitul.uk
Free chat

Data Migration Services UK

dijitul developments moves business data between systems for UK companies: old databases to new software, one shop platform to another, spreadsheets into a CRM or ERP. We write repeatable scripts, rehearse on copies, reconcile counts and keep URLs and history intact, as we have since our CubeCart and OpenCart migration tools. Fixed-price quote after a free chat.

Updated 2026-10-10 · by the dijitul development team, Mansfield, UK

  • MySQL
  • MariaDB
  • PostgreSQL
  • SQL Server
  • Python
  • PHP 8
  • Node.js

Sound familiar?

  • Your new system is ready but ten years of customers and orders are stuck in the old one
  • A previous migration lost order history or broke every product URL
  • Data is spread across an old database and several spreadsheets that disagree
  • Your new vendor's import tool only handles basic fields
  • You can't afford more than a few hours of downtime for the switch
  • Nobody fully understands the old database structure any more

Key facts

  • We built CubeCart to OpenCart and osCommerce to CubeCart migration tools, and OpenCart migrations that kept URL structures
  • Migrations are scripted and repeatable, never a one-off manual copy
  • At least one full rehearsal on a copy of live data before cut-over
  • Record counts and totals are reconciled between old and new systems and signed off
  • 301 redirects map old URLs to new ones so search rankings and bookmarks survive
  • Passwords are never decrypted; we migrate hashes where compatible or trigger secure resets
  • Personal data is handled under GDPR, with a cleanup of what you no longer need to keep

Migrations fail in the details

Copying a table from one database to another is easy. The hard parts are everything around it: the customer who appears three times with different spellings, the order statuses that don't exist in the new system, the product options stored as a comma-separated string, the text that turns into question marks because the old system used Latin-1 and the new one uses UTF-8. A migration that ignores these looks fine on day one and causes problems for months.

We've been moving data between systems for a long time. Our early tools migrated shops from CubeCart to OpenCart and from osCommerce to CubeCart, and our OpenCart migrations kept the original URL structures so shops didn't lose their search rankings. The same discipline applies whether it's a shop, a CRM or a bespoke system.

Our method

  1. Audit. We inspect the source data, not just the schema: row counts, nulls, duplicates, odd encodings, records that reference things that no longer exist.
  2. Map. A field-by-field document says where each value goes, how it's transformed, and what happens to data that has no home. You sign this off.
  3. Script. Extract, transform and load code (usually PHP, Python or Node.js against MySQL, MariaDB, PostgreSQL or SQL Server), logged and repeatable, so any run can be reproduced exactly.
  4. Rehearse. We run the full migration against a copy of live data, then reconcile: counts per entity, order totals, outstanding balances, stock values. You test the result in the new system.
  5. Cut over. A planned window, a freeze on the old system, a final delta or full run, reconciliation, then go-live. A rollback plan is written before we start.

Ecommerce and website migrations

For shops, the data is only half the job. Every product, category and content URL that has search traffic or inbound links needs a 301 redirect to its new address. We crawl the old site, export URLs from the database and analytics, match them to the new structure, and test the redirect map before launch. Customer accounts move with their order history so returning customers can log in. We never decrypt passwords: if the new platform can verify the old hash format we migrate it, otherwise customers set a new password securely on first login.

Platform-specific migration work is covered on our ecommerce migration page.

Systems, CRMs and spreadsheets

Business system migrations are often messier because the source is several places at once: an ageing Access or FoxPro database, a shared drive of spreadsheets, and a CRM half-filled by the sales team. We consolidate them with matching rules, flag conflicts for a person to decide, and load the result into the new system through its API or import format. When the old system can't be switched off immediately, we can run both side by side with a temporary sync. If you're replacing old software altogether see legacy software modernisation; for CRM targets see CRM integration.

Sources we often migrate from

  • Older shop platforms: CubeCart, osCommerce, OpenCart, Magento 1, VirtueMart and WP e-Commerce, all of which we've worked with directly.
  • Bespoke PHP and MySQL applications built years ago, often without documentation or with the original developer long gone.
  • Microsoft Access, FoxPro and SQL Server databases that run part of the business on one office PC.
  • Spreadsheets and shared drives, where the challenge is deciding which version of the truth to trust.
  • Accounting and CRM exports, including CSV extracts and API-based extraction from cloud systems.

Targets range from Shopify, WooCommerce and Magento 2 to HubSpot, Salesforce, Xero and new bespoke software we've built. Where the target has an API, we load through it so the new system's own validation and business rules apply.

Data protection and sign-off

Migration is a good moment to stop keeping data you don't need. We can apply your retention policy as part of the transform, so old personal data isn't carried forward without reason. Data is moved over encrypted connections, working copies are deleted after sign-off, and access is limited to the people doing the work. You get a reconciliation report you can keep as evidence the migration was complete and accurate. Every migration is a fixed-price quote after a free chat: get in touch.

What we deliver

  • Data audit of the source system, including quality issues and orphaned records
  • Field-by-field mapping document agreed with you
  • Repeatable extract, transform and load scripts with logging
  • Cleaning rules: de-duplication, address and phone normalisation, encoding fixes
  • Rehearsal migrations with reconciliation reports
  • 301 redirect map for websites and shops
  • Cut-over plan with rollback steps, and a final verified migration

How it works and what it costs

Every project gets a fixed-price quote after a free initial chat and a short scoping stage. You own the code and the data.

  1. Free chat

    Tell us the problem in plain English: what you do now, what goes wrong and what "better" looks like. No charge, no obligation.

  2. Scoping

    We map the processes, systems and data involved, agree what is in and out, and write it down so there are no surprises.

  3. Fixed-price quote

    You get a fixed price for the agreed scope, or a phased plan for bigger builds, so you can start small and prove it works.

  4. Build and test

    We build in short stages you can see and try, test against real data, then go live carefully with a rollback plan.

  5. Hand over and look after

    You own the code and the data. We can host it, support it and keep improving it, or hand it to your own team.

Frequently asked questions

Will we lose our Google rankings when we migrate our shop?

Not if redirects are done properly. dijitul maps every old URL with traffic or links to its new address using 301 redirects, tests them before launch and keeps URL structures where the new platform allows. We did this for OpenCart migrations from the start.

Can you migrate customer passwords?

We never decrypt passwords. If the new system supports the old hash format we migrate the hashes so logins keep working. If not, customers are asked to set a new password securely on their first visit.

How much downtime does a migration need?

Usually a short planned window. Because the scripts are rehearsed in advance, the final run is predictable. For larger systems we migrate history early and only move recent changes during the cut-over window.

Our old database is undocumented. Can you still migrate it?

Yes. dijitul reverse-engineers the structure from the database and the application code, then confirms our understanding with your team through the mapping document before any data is moved, so hidden assumptions surface early.

How do we know nothing was lost?

Every rehearsal and the final run produce a reconciliation report: record counts per type, order and invoice totals, balances and stock values compared between old and new. You sign off the figures before go-live.

Can you clean the data as part of the migration?

Yes. We can merge duplicates, standardise addresses and phone numbers, fix character encoding and drop records outside your retention policy. Cleaning rules are agreed in the mapping document so you stay in control.

Related

Tell us what you need to build

Free chat, clear scope, fixed-price quote. You own everything we build.

Call usFree chat