View Single Post
Old 2nd January 2020
Lives for gear
gruvsyco's Avatar

And just because I feel like making this the first dead horse I beat this year...

*DISCLAIMER* I am no longer an IT professional and I was never a programmer

To address your specific concern of missing posts. Flatscan says he thought he pulled from the most recent backup.

Most forum software is run with some kind of relational database in the background. What appears to be a simple post is actually a bunch of data in different tables that are all linked to each other via a primary key. More common than not, primary keys are a sequential number on the table, that is unique to that table.

When a post is created, it is put into a table that has a sequential key assigned to it that holds the very thoughtful information you decided to share with all of us.

*Warning* Extreme speculation ahead

If you take a look at my post above, the URL is

I suspect that number is possibly a primary key for one of the tables in the database. If you go to susbsequent numbers, you will see these numbers lead to posts all over the entire forum. in no particular pattern other than (I suspect) the time they were posted.

Now, that particular table does not contain all the information you see in that one post but, the database itself does know the links from say, the table that contains say, what you typed to the table, that says what forum thats in and the table that says what user posted it. and whatever else. These tables are all linked via the previously mentioned keys.

So, when muffs went live with a dataset that was (10 days?) older, the new copy of the database started writing primary keys, sequentially from that date, using primary keys that would have already been used on the old server.

This data has also been through a data migration from the old PHPBB version to the new one.

So to recover those missing days, he would first have to somehow isolate the subset of data he needs to recover then somehow convert it to the current version, replace the primary keys on that data while maintaining the links to all the other keys it has relations with and merge it with the current database. (or something like that)

To summarize, it's a lot of ****ing work. I admire him for attempting, I wouldn't blame him at all if he just writes that one off. Some/most of the above is probably overly simplified.