HandyCafe Docs
owner it-admin

Data Migration

The Migration page imports customers, products, pricing and history from another internet cafe management system into HandyCafe. It sits under Settings in the Infrastructure and System group.

Three sources are supported:

Source What it reads
HandyCafe Legacy An existing HandyCafe 3.x or 4.x installation on this machine.
EveryCafe An EveryCafe .ecm SQLite database file.
Pancafe A Pancafe USDB.DAT Firebird database file.

Pick a source from the cards at the top of the page. The panel below changes to match the selection.

How Every Source Behaves

The three sources share the same working model. What you learn on one applies to the others.

  • The source is read-only. HandyCafe opens the original file for reading and never writes to it. Your old installation stays exactly as it was. You can go back to it at any time.
  • Inspect before you import. The Inspect button reads the source file and reports what it found. The Start migration button stays disabled until an inspection succeeds.
  • Progress is shown per phase. A progress dialog opens during the run and reports the phase in progress, such as members, products or transactions.
  • Re-running is safe. Rows already imported are updated in place, not duplicated. Once a migration is complete, the button changes to Re-run migration.
  • Every run can be undone. After a completed run an Undo migration button appears. It removes every row imported from that source. You are asked to confirm first.
  • Warnings do not stop the run. If some rows could not be read, the run finishes as completed with warnings. Open Logs to see which rows were skipped.
  • An interrupted run recovers on its own. If the application closes or the machine loses power mid-import, the page reports that the previous import was interrupted. Starting again is safe.

Expand Last import counts at the bottom of a panel to see how many rows the most recent run imported for each category.

HandyCafe Legacy

Imports from a HandyCafe 3.x or 4.x installation. This is the source for cafes upgrading from an earlier generation of HandyCafe.

Detection

On Windows the page scans the system for a legacy installation and reports:

Label Meaning
Install Path Where the legacy installation lives on disk.
Database Path Full path to the legacy database file.
Server Version The version string of the old server, for example 3.4.01 or 4.0.10.
INI File Count How many configuration INI files were found in the installation folder.

If nothing is detected, the page reports that no legacy installation was found. Check that the legacy files are in a standard location such as Program Files\HandyCafe or C:\HandyCafe.

On macOS and Linux the automatic scan cannot run. The panel offers a folder picker instead. Point it at the legacy Db folder copied over from the old Windows machine, then start the migration.

What Is Imported

Members, pricing tiers, products, orders, transactions, logs and the settings held in the legacy INI files.

Stop the legacy server before you start. The source database should not be written to while it is being read.

For a full walkthrough see How to Migrate from a Legacy Installation.

EveryCafe

Imports from an EveryCafe database file, normally named ecmdata.ecm.

  1. Select Browse and choose the .ecm file. Files with a .db or .sqlite extension are also accepted.
  2. HandyCafe inspects the file automatically once it is chosen. Use Inspect to run the check again after editing the path by hand.
  3. Review the preview, then select Start migration.

The preview reports the EveryCafe Server name and Server version along with the number of cashiers, members, products, price lists, orders and sessions held in the file.

What Is Imported

Cashiers, members, products, pricing tiers, orders, transactions and Steam accounts. Steam account passwords are encrypted as they are written into the HandyCafe game license pool.

Sessions and price lists are counted in the preview so you can see the size of the source data. They are not imported.

PriceList Reference

After a completed run the panel offers a PriceList reference table listing the original EveryCafe price rows: PriceList ID, legacy type, start price, hourly price and refresh minutes.

EveryCafe pricing does not map cleanly onto HandyCafe pricing plans. These rows are kept as a reference for setting up pricing by hand. They are not imported as cafeteria products. Use them alongside Pricing to rebuild your tariffs.

Pancafe

Imports from a Pancafe database file, normally named USDB.DAT. HandyCafe reads the Firebird file directly. No Firebird server or client library needs to be installed.

  1. Select Browse and choose the USDB.DAT file. Files with a .fdb or .gdb extension are also accepted.
  2. Review the preview, then select Start migration.

The preview reports the detected Format (for example the Firebird ODS version) plus the History range covered by the data. It also lists the number of cashiers, members, products, cash ledger entries, sessions and member wallet history rows found.

What Is Imported

Cashiers, members with their wallet balance, products, income entries from the cash ledger and expense entries.

Session rows are read for the preview but left out of the import on purpose. The cash ledger already records what was collected for those sessions. Importing both would count the same revenue twice.

Time Zone

Pancafe stores dates without a time zone. HandyCafe converts them using the time zone of the computer running the import. Run the migration on the machine that will keep using the data. Running it elsewhere can shift historical dates by a few hours.

Before You Start

  • Take a backup first. Open Database Maintenance and use Back up now. A migration writes into the live database. A fresh snapshot gives you a second way back besides Undo migration.
  • Close the source application. A database that is actively being written can produce incomplete reads.
  • Allow enough time. Large datasets can take several minutes. Leave HandyCafe open until the progress dialog reports that the run is finished.
  • Check the counts when the run ends. Compare them against what you expect from the old system before you start trading on the new one.

Related Pages