Jump to content
Claris Engage 2025 - March 25-26 Austin Texas ×

This topic is 6853 days old. Please don't post here. Open a new topic instead.

Recommended Posts

Posted

I've been stymied on this one for a while, and it all seems to have to do with limitations in FMP 8. Though perhaps if I got Advanced, there might be some functionality that I don't know about... If so, please let me know.

Anyway, I want to fully automate my backup and restore. Let me explain...

I am developing a complex database consisting of multiple files, each containing tens of tables and many layouts. It is hosted on a server and used daily. I want to be able to add features and make bug fixes without disrupting the use of the database, so I make a copy of the files on my own machine and make changes as needed. When it comes time to sync the new database with the current data on the server, I need a way to do this efficiently and quickly with as little error proneness as possible. What I *really* want (and hope it's possible to do) is have a single script that is generic enough to import into all my files, which will import all data from the current files on the server (after I've taken them offline and downloaded them to my machine, of course) into the updated & fixed files on my machine.

I've run into two problems when trying to do this.

1: The Import script step isn't fully automatic; i.e. AFAIK, you can't write a simple loop to go through all tables and import the data, because you have no way of programmatically specifying which layout to import them *to*. As soon as you specify that in the script step via point-and-click, you're tying yourself to importing a particular TO. Hence, no generic code. I hate the idea of having to maintain a script per file that manually does the import (i.e. no loop, just a series of Import steps, one for each table) because it's one more thing that I'm liable to forget when I add a new table or a new field.

2: There seems to be no way to transfer auto-enter serial numbers from the server file, whose serials have most likely been incremented past the point of the ones in the file that's on my machine. Once again, I can implement a specific script to do so, but then I have yet another thing that I have to keep track of when I add new auto-enter serial fields. I want a *generic* script, and I came really close to getting what I wanted before I realized that the Set Next Serial Value script step is tied to a specific layout. Why, oh why can't it accept an expression as an argument, so I could programmatically specify which field I wanted? ???-(

Regarding #2, I've played around (mentally) with the idea of having a separate table just to store all auto-enter serials, because then that table could just stay on the server. But (and correct me if I'm wrong) I believe that could lead to all sorts of atomicity problems when it comes to many users creating new records at the same time, since I would be relying on scripting to grab serial numbers for my new records.

Am I SOL? Why does FMP make it so hard to import and export? I'm certain I'm not the first person that's had to deal with this problem, so... What solutions have people come across? I'm open to plug ins and anything else that will make my life easier.

Posted

Owen,

SyncDek from worldsync.com is your only solution. Its not cheap and not easy but its the only way to go for what you are trying to do.

I use it when I am in the field (without internet) so I can use the database and then sync it with the main file when I get back to the office.

Worldsync has EXCELLENT customer service and they were able to get even an idiot like me up and running.

This topic is 6853 days old. Please don't post here. Open a new topic instead.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.