"Import from database" functionality?

I quickly searched for a similar question/answer in the forum but couldn’t find a recent one that was clearing out my same issue.
That is:

I have two databases that are on two different machines, that originated from the same database, but have been used in different moments and places so now their content is part same files, part different/new/missing files from one to the other. And were not synced.

What is the best/preferred/safest way of merging/syncing the two databases in one, keeping not only files, but also the tags, annotations etc written in one but not the other?

Syncing them via iCloud? or is there some other faster local way without uploading to Internet?

P.S. the files inside databases are “imported”, not “indexed”

Bonjour is supposedly faster and more reliable than iCloud.

I’d first sync both databases so that they’re available on both Macs. Than create a new database on one of the machines and copy all groups and records from both databases in that one. Finally remove the dollars from the new database.

But there night be a better way.

Thanks, so I think Bonjour would be a way if I still have the database on two machines and connecting them via LAN. But if I now have both the databases on the same machine, in different folders? is it still possible to sync them?

You can’t sync two different databases together.

Moving files between the databases is the only option, whether that’s via drag and drop for smaller batches or File > Export > Files and Folders to a newly created folder in the Finder followed by File > Import > Files and Folders in the destination database with large numbers of files.

So there is no way to retain the tags, for example, written to both databases?
I was thinking about a functionality similar to (maybe someone here is aware of it) Lightroom’s “Import from another catalog (don’t import suspected duplicates)”, where it imports photos (files) in the current catalog but retaining metadata.

Moving a tagged from one database to another transfers the tags as well.

1 Like

would using a " Local Sync Store " a possible solution ? First opening the first database, syncing, then the second, syncing and I obtain a unique merged database?

Nope. You can’t sync disparate databases. You can only sync to a true copy of a database.

can you just connect the two machines on your local network with a Finder “connect server” copy all the databases into one folder” then on that machine open all the databases in DEVONthink and handle the merge as @BLUEFROG suggests? i don’t see where any syncing required if you can do this simple LAN copy.

I’m not sure I get your answer, the databases should not be “disparated” but one was an earlier Finder copy of the original. Does this change anything in your answer?

It’s I was looking for a way to avoid manually merging the two databases, since the second originated from a Finder copy of the first…they could be automatically merged in some way I thought

no way i know of to do automatically or automatically. you know which groups and files go into the target merged version. you might be able to construct smart groups on the source to filter and copy/move what goes to your target. but that requires knowing the rule criteria.

that being said, based on your questions i am not sure i totally understand what you are trying to do so feel free to ignore me! :wink:

So you copied the .dtBase2 file in the Finder and renamed it?
(Note: This is not a good idea to do. However this may be useful in this scenario.)

No, not even renamed, just started adding content on a copy of the database (like a new branch, working on the main, and on the branched too) —nevermind, I was able to solve with the Bonjour syncing…thanks for all the help!

You’re welcome :slight_smile:

Did things merge as expected, preserving the most recent state of the database?

I have some non-orthodox ideas to try to solve your issue:

A) Export both databases (files and folders) into two separated folders. Then use a tool like FreeFileSync to copy newer one over older one (this program will not overwrite same files and will do with new and older if well configured). Then import the updated folder into a new database. Get rid of the two databases and exported folders.

B) Create a smart group in each database listing all documents, then order by date. Select new ones and export them as in A). Then import in the old database. In this case I recommend you duplicate the old database and operate over the duplicate. In case of any error, you still have the original old one.

Edit to add:

C) Create a new empty database. Duplicate from older database into this new one. Go to the second database and duplicate over the new one. Create a new smart folder listing all duplicates in new database. Then get rid of duplicates via Data → Move duplicates Yo Trash script folder.

1 Like

I did some tests before, and it seems it preserved the most recent or duplicated (depending on the sync preference settings). But it would have been nice to be able to choose a third option.(I know this is a massive feature to implement) “merge and version” where I end up with a versioned single file. But maybe that’s asking too much :slight_smile:

Interesting idea but yes indeed that would be quite a major thing to implement.