If you are migrating multiple users or databases into a single, shared database, there are a few things you need to understand before proceeding and a few things you can do to make the process go smoothly.
1. Each User Creates a Single "Master" Database on His or Her Machine
You don't want to try to synchronize 2, 5, or 20 databases from each user, so you'll ask each user to synchronize all their databases into one "Master" database first. This assumes each user is using his or her own database(s), of course.
- Each user should create a new database on his or her machine named "<their name> - <product> Master" (for example, my OST database would be named "Daniel Lastname - OST Master")
- Starting with the oldest database from which the user needs Master information, follow the instructions in the User Guide to synchronize into that Master Database
- Repeat, going in chronological order, until the user has synchronized all their databases into the Master
As the user sync's new databases into their master, they'll update existing records from previous databases (Conditions Templates (Styles), Items, etc.). When they are done, their Master will consist of all the records they created but only the newest copy of duplicated records. (Prices will reflect the most current Master, all other records reflect the most current state of that record, in the last database sync'ed to the Master).
***If they want to retain multiple copies of a record (such as one from their 2018 database and the one that's in their 2019 database, they'll need to name those objects uniquely, the best thing would be to append the name of the original database/year itself to the name of the record).
2. Each User Reviews His or Her Own Master Database
If you are migrating multiple users to a central database, have each user go through his or her Masters and clean them up:
- Make sure there are no unneeded records (for example, if they've added Project Types "Hospital" and "Hospitals", they should pick one and delete the other). That leads us to our second item...
- Make sure everything is spelled/formatted according to a standard YOU provide (for example, everyone should stick to a common naming convention for Condition Templates, Project Types, Items, etc.). Let's say User 1 has a Project Type "Hospital" and User 2 has a Project Type "Hospitals" and a third one, who isn't the best speller, has one named "Hospitols". You'd end up with three Project Types in your Destination database...two that you don't need or what.
- They should update records they want to isolate from being overwritten by appending the Name of the object with their name. For example, if I had a Condition Template (Style) named "Wall Type A - 10'00"" and I wanted to make sure it was not overwritten, I would add "Daniel Lastname" to the name, leaving it "Wall Type A - 10'00" (Daniel Lastname)". Odds are, there's only one of me so my Item will not be overwritten if someone else has a "Wall Type A - 10'00"" in their database.
Gather all the Master databases on Your Machine
Have all your users send a copy of their individual "Master" database to you (most e-mail apps don't take kindly to sending database files, so have your users zip-up their database first).
When you have all the databases saved to your local machine, you are ready to create your central database.
- If you are using this database for working in the applications, you must create a SQL database.
- If you are using this centralized, master database as an archive or to migrate to ConstructConnect Takeoff, create a new Access database on your machine. You'll send this to Support for migration purposes.
Create New Master SQL Database
Microsoft Access databases (the default OST/QB database type) must not be shared. Serious issues will occur if you share an Access database or store it on a network drive. See Related Articles for more information about Sharing.
Follow the instructions in each product's User Guide to create a new SQL Database. Use a logical naming convention such as "<Year> <Department/Office> <Product>" (for example, an OST database might be named "2020 - Houston - OST". This makes it easier for your end users to figure out which database they should be using. See Related Articles for information on setting up your SQL database/server correctly.
Synchronize each user's "Master" database into this SQL Database.
As a reminder, if more than one user has named a record the same, the last one sync'ed in wins.