Quote:
Originally Posted by davidfor
That is because deleting the database is the wrong thing to do. That doesn't tell the server what to with the shelves it knows about, including the duplicates.
|
You misunderstand me. When I say device-to-sqlite-to-server, I'm not talking about directly touching the database. Instead, I mean that the database is an intermediate step between the device interface and the server, one that it seems has certain limitations that the apps' interfaces do not share. That's why the apps can Really Truly delete shelves, and syncing the device after such a pass means that instead of the faulty device-to-sqlite path, the changes propagate down the server-to-sqlite path instead. Since the device's sync date is older, good data comes down and bad data doesn't go up. That's why the sequence is so crucial: delete on server via app, THEN refresh device, THEN refresh app, repeat until done. It keeps the app "in charge" and negates the bad data on the device.
Now, once you get your server info clean that way,
of course you should log out of the device before doing anything else (to stake its database once and for all, before it can pollute the server again) and then log back in to build a fresh, clean one. Yes, I wound up doing this "the bad way" by just deleting the database wholesale, but the principle of "quarantine, treat, eradicate" remains sound.