Welcome to the Question2Answer Q&A. There's also a demo if you just want to try it out.
+3 votes
in Q2A Core by
edited by

Current situation:

1. I have an old installation of q2a, 1.5.x with some mods of 1.6.3 on domainA.com

2. I have setup a fresh installation with v1.7 on domainB.com

3. I want to test on domainB.com and get "please upgrade the database"

When doing so, can will q2a 1.6.1 on domainA.com still work? Because that is the production site with ~100 users per minute online =)


Update: The upgrade went through and the 1.6.1 could use the upgraded db of 1.7.1.

Q2A version: 1.6.3
1. Are you missing something between step 2 and 3 or are you actually getting the upgrade request on a fresh install?
2. I'm also confused about having 1.5.x and 1.6.1 on domainA.com. Do you have both?
3. Regardless of your particular scenario, is there any reason not to perform a database upgrade when requested?
1. Yes, I tried it on localhost, it asks for the upgrade.
2. Nope, it is 1.6.3 (my upgrade vom 1.5.x was by hand... just ignore that).
3. Yes, I would like to test some stuff on 1.7 domainB.com while having the production site domainA.com still running, before moving all my users to domainB.com
Are domainA and domainB using the same exact database? In other words, on the same server and using the same MySQL details.
yes, that's the reason for my question. Both use the exact same db. Only the core files differ.

1 Answer

+1 vote

I still find the question considerably confusing. Scott added the variable of database sharing. So this is what I get so far:

  1. You have Q2A 1.6.1 with a 1.6.1 DB
  2. In another server you have Q2A 1.7.0 pointing to the 1.6.1 DB
  3. You want to test Q2A 1.7.0 with the data of the 1.6.1 DB
  4. You want to know if your 1.6.1 server will break if you upgrade the database to the one of Q2A 1.7.0

If this describes the scenario, then I have a couple of comments:

1. As I see it, it seems to be a case of forward compatibility rather than backwards compatibility as you want 1.6.1 code to work with a 1.7.0 DB
2. As the intention is to test with the current data you could just clone the DB and use it as a Test DB. Then upgrade it and test it with the 1.6.1 code

Digging a bit more in this, it is likely that there the 1.6.1 code work perfectly fine with the 1.7.0 DB. Take a look at this link https://github.com/q2a/question2answer/blob/49f054ce905c34e30a602527b3d70544a526f61b/qa-include/db/install.php#L1402

As you can see, there haven't been many changes since 1.6.0. Just a couple of deletes and some columns were added. Based on how the core works, this shouldn't have any negative effect.

Yes I think this is right, it should work fine. But the upgrades are certainly not GUARANTEED to be backwards-compatible.
The upgrade went through and the 1.6.1 could use the upgraded db. However, I ran into other problems: https://github.com/q2a/question2answer/issues/258
@q2apro.com After reading the first post of the GitHub issue I can tell you had the latest 1.5 DB rather than a 1.6 DB. So other users in the situation described in this question shouldn't face the issues you did
This happened because of my file update from 1.5.x to 1.6.1 without the db. :(