How do you update multi-sited PF sites, in which a single DB contains some tables used in common and others that are site-unique? Do the DB updates ignore the multi-site mapping and update tables regardless of prefix? If not, how do you apply updates and end up with a single, fully-updated DB?
Specifically:
I have two parallel sites running 7.00.05, one in English and one in Polish. The sites run in two subdomains,
english.example.com
polish.example.com
I want to bring both up to date to run PF 7.02.04.
The 7.00.05 DB configuration: there are two copies of every DB table except "users". I modified files "config" and "includes/multisite_include.php" so the English site uses English-language versions of articles (and so on) and the Polish site uses Polish-language versions of the same articles. There is only one user table, so a member can log-in on either site. Let's call this the "OldDB". This configuration works well. No problems.
To update, I started by making a new subdomain,
new_polish.example.com
copied the working 7.00.05 Polish PF files there, and I modified it to use a copy of the DB, call it "NewDB1".
I succeeded in bringing this subdomain up to PF 7.02.04. (The only issue seems to be one or two apparent minor warnings during DB updates, which I simply ignored.) Note: "OldDB" is mySQL v4.1 and "NewDB1" is v5.0, so this success seems to indicate no relevant issues with mySQL versions.
If I correctly understand the multisite architecture and what happens during updates, the Polish tables and the user table of "NewDB1" have been fully updated to 7.02.04 standard. The English tables are untouched, still PF 7.00.05-standard, as they are invisible in a properly-configured Polish PF installation.
Now, how do I bring the English site up to date?
I can't start with the English 7.00.05 system connected to "NewDB1", which is now configured for 7.02.04. I tried. I can't log in, which means I can't update.
Maybe the update process ignores the multi-site remapping and updates all tables, so "NewDB1" is ready to use. I made a copy of the updated Polish PF code and put it in a new subdomain,
new_english.example.com
Then I modified its "config.php" to use English tables. Fail. PF doesn't come up very far, and tells me I've got unknown columns and unspecified errors in SQL syntax. So I conclude that the update processes in fact obey current multi-site remapping. DB tables not referenced in the current configuration are not addressable and are not updated.
The only remaining alternative I can think of is to make yet another copy of "OldDB" --call it "NewDB2"-- bring its English tables up to date by doing the updates again, this time to (a copy of) the English-configured site. Now I have
NewDB2 -- containing 7.00.05 Polish tables and 7.02.04 English tables, plus 7.02.04 "user" table
NewDB1 -- containing 7.00.05 English tables and 7.02.04 Polish tables, plus 7.02.04 "user" table
and all I have to do is figure out how to merge these to "NewDB3", throwing away all the 7.00.05 tables. However, I don't know anywhere near enough about MySQL to do this.
How can I accomplish updating both parallel sites? Without learning a lot more about MySQL than I really want to know?
Am I missing something really obvious?
TIA
URL to your site: Will share privately, if necessary.
Version of PHPFusion: v7.00.05 --> 7.02.04
Any mods you've made to your site: none
Version of PHP: can be found out from your host: 5.2.14
Version of MySQL: can be found out from your host: 4.1 and 5.0
Have you searched for your problem: (yes/no) yes
If so, what terms did you try: multisite update
State the nature of your problem: Copy and paste any errors you are receiving: Too many and not directly relevant
Do you have a test account for us? Will share privately, as necessary.
0 replies