With the launch of the FileMaker 17 Platform, the new FileMaker User Licensing program was introduced. Each FileMaker User Licensing contract includes 3 licenses of FileMaker Server. An organisation can, for example, have a production server, backup server, and development server.
FileMaker is a unique product that gives us the possibility of developing in a live environment while users are actively using the FileMaker database. However this does have as implication that the programmer needs to be careful not to break anything when altering structure / code. For larger scale applications this way of programming is not an option and a separate development / production environment is essential.
When you have such a separate environment, at a certain point you will decide that the current development you have done on the development server needs to published to the live environment. This means that you will have to migrate all the production data / accounts into the current development database. This was time consuming process. As a developer you had to take care that each table got correctly imported. Let alone update the possible serial numbers inside a table.
With the release of the FileMaker Data Migration tool this all changes.
What is the FileMaker Data Migration Tool?
The FileMaker data migration tool is a command-line tool from FileMaker, Inc. to migration all record data and user accounts from a source file in the FileMaker Pro 12 format (FMP12) to a target file.
This tool is cross platform (macOS and Windows) and dramatically speeds up the data migration process.
When you run this command line tool a full access user account or an account with the “fmmigration extended privilege” is required. When using the extended privilege, the specified user does not require access to any table, scripts or layouts and thus provides a secure method for migration.
The specified account you will use for the migration process does need to be present in the source and clone file. Do mind when using the extended privilege, the option for verbose logging is not available. Verbose logging is only full access accounts.
After the migration this tool gives either a brief overview of the migration result or a verbose log depending on your given account.
The FileMaker Data Migration tool is available to people who have bought a FileMaker Developer Subscription (FDS). Please refer to your community profile for downloading after you have purchased a FDS.
How to migrate your data?
- Open the file to be cloned.
- Choose File menu > Save a Copy As, then choose clone (no records).
- Make sure the source file and the clone are closed.
- Download the file Win_FMDataMigration_x64.zip (Windows) or Mac_FMDataMigration.zip (macOS).
- Unzip the downloaded file and move the contents to a location of your choice.
- Use the following command at the command-line prompt:
FMDataMigration -src_path <path> -clone_path <path>
The parameters -src_path and -clone_path are required. All the other parameters are optional. The optional parameters are:
-src_path: Source filename and path.
-src_account: Account name used for opening the source file. The default is Admin.
-src_pwd: Password for accessing the source file.
-src_key: Encryption password for decrypting the source file.
-clone_path: Clone filename and path.
-clone_account: Account name for accessing the clone. The default is Admin.
-clone_pwd: Password for accessing the clone.
-clone_key: Encryption password for decrypting the clone.
-target_path: Target filename and path. The default target file, source filename migrated.fmp12, is located in the same folder as the source file.
-force: Overwrites an existing target file. If you have an existing target file, you must use a different name for the new target file, or use -force to overwrite the existing file.
-ignore_valuelists: Uses custom value lists from the clone instead of the source file.
-ignore_accounts: Uses the account names, passwords, and the encryption password from the clone instead of the source file.
-ignore_fonts: Doesn't check the font mapping for field contents.
-v (verbose mode): For accounts with the Full Access privilege set, provides a detailed report about the data migration process. For accounts with the fmmigration extended privilege, in both normal and verbose modes, the tool provides only a brief report without displaying any information about the schema.
-q (quiet mode): Doesn't provide a report.
More information about the FileMaker Data Migration tool can be found here.
Since the FileMaker Data Migration is a command line it does require some knowledge for executing this correctly. You have to compose a correct command with valid paths and options.
This is where the FMDataMigration comes in. This tool will automate the migration process for you. It gives you a FileMaker interface with configurable options before executing the migration.FMDataMigration — Database
The result of the migration process is a log file that does include a detailed report of the migration process itself. It is important to use a full access account in order to receive a detailed log result as described above.
The FileMaker database FMDataMigration was build with purpose to either help the developer for migration your data by using a FileMaker interface that guides you through the process AND to give a detailed report of the migration process itself.
After the migration, the created log file gets imported and parsed into the FileMaker database. This gives you a clear view of possible warnings / errors where you should have a second look at before using this file again in a production environment. Below is an example of a possible result:FMDataMigration — Result summaryFMDataMigration — Result tables
How does the FMDataMigration works?
At launch this tool will verify if you have the required plugin (BaseElements, FREE plugin) installed. If not, this will be installed automatically. This FREE plugin is used for executing the command line in the backend.
Before using this tool you must upload a .zip file off the “FileMaker Data Migration command line tool” which you have downloaded from your FileMaker community profile.FMDataMigration — Settings — Migration tool
After you have uploaded a valid .zip for for macOS / Windows you are ready to go.
Inside the configuration tab, specify a valid source-/clone- and target path. Provide a full access account to make fully use of the FMDataMigration tool.
Verify after the configured options. Verbose logging is ticked on by default. You are now ready to migrate your data / account.
The FMDataMigration will first verify if all parameters are configured properly. After, the migration itself will start. You will get a good overview how many % of the migration is completed.FMDataMigration — Migrating
After the migration the FMDataMigration database will parse the created log file into native FileMaker tables for a detailed report. The progress bar gives you an idea of how long it will take.FMDataMigration — Parsing result
After this stage the migration is completed and the result can be checked. The detailed result gives an in dept view of possible warnings / errors that are reported by the migration process.
Inside the detailed report you will get an overview of the following parts:
- Value Lists
Each warning / error will be logged. It is important to know as a developer what happend during the migration process as this is crucial information before deciding if the new file is ready for production.
The FMDataMigration tool is a free tool, written in FileMaker Pro 17 Advanced, is completely open-source under the GNU license.
Discover the product page on myFMbutler.com.
FMDataMigration for the FileMaker Data Migration Tool was originally published in Lesterius on Medium, where people are continuing the conversation by highlighting and responding to this story.