The installer/upgrade tool - a first glimps
Well, in order to make the codename "Vaporware" a bit less realistic, here comes a first look at the thing called installer.
First of all, this is a test version, so unless you really know what you are doing - don't use it.
It should be safe to use, even on a live eFiction 3 site, since the part where it actually starts making changes has been disarmed, but it is called test for a reason, right?
What does it do, then?
Now the part that's active, the upgrade, will do all kinds of tests before it starts, recommend where to store chapter data (either inside the main database or in a local file storage via SQLite 3). Yes, this means you can finally start changing where your chapters are being stored at. So far, only on upgrading, later on this will be a feature in the admin panel.
It will then create the new tables, start to copy data from the old tables, create a data cache and then perform the above mentioned chapter thing.
If anything fails, I need to know in order to make it more stable, so yes, anybody that has the time and knows how not to shipwreck an efiction, be my guest, give it a shot (not me, maybe you will, but I'd highly advise against that, for personal reasons).
Be sure to drop a note in here about your impressions, create error topics if things went bad.
This script, like the actual eFiction 5.x will require:
Apache only so far, nginx needs certain directives set in the configuration, manual is to be found here.
PHP >= 5.4.0
PDO and at least one SQL-ish database server supported via PDO
SQLite with PDO for local storage
Unpack the archive and put the install/ folder in your test archive, might want to remove the old one first if it's still there, but that should not be a requirement.
Right now, it only speaks MySQL, since I neither run a PostgreSQL or any other Servers I can't test it, so it's not in there, if anybody feels like creating support, be my guest.
That's all at this point of time, getting late and my English pretty bad, but I wanted to get this out tonight, and by some definition, I did.
Update: Changed PHP requirements to 5.4.0
Okay, I'm excited!
Question: can I install from this zip?
If yes, then I have struck a snag:
Failed to open eFiction 3.5.x database.
Last error was: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'xxxx.config' doesn't exist
Thank you again for all your work. It really is appreciated, Sheepie.
Could you describe what you did and when this happened so I can trace it back?
And no, not installing at this point.
I unzipped the package on the server. I created a new DB & user. Maybe I should put a test install of 3.5 up there as well?
Here's a screen shot of what I've entered:
Yes - you'll need to input the 3.5 information in there, since it's converting from the old database to the new one.
That's kinda weird, it should probe the server only when a 3.5 database name is entered.
- Must check that out.
Yes, it will only do an upgrade at this point.
- Will be there in a bit.
Just tried this on a test install of my site and got the error as seen in the attached image. If it helps any the url was at "install/upgrade/steps/4"
Can't read what's in the red box, could you tell me what it said ?
ERROR (Array (  => 00000  =>  => ) ) in id #17
That doesn't make any sense, the error number is 0000 which usually means "no error", and the SQL command is simply trying to clean up double relations.
Can you look in the test database, there is a table called ***_convert, this is id #17, the SQL command should look like this:
INNER JOIN `###`.`efi5_stories_authors`S2 ON ( S1.sid=S2.sid AND S1.aid = S2.aid AND S1.lid < S2.lid )
If it does, try running it in phpMyAdmin if possible, tell me if there are any errors.
It should go through fine, no matter if there are double relations or not.
No such table in the test DB.
Scratch that. This looks like it was an old DB from back in 2009. There is another DB named just "test" that is empty. The above DB had a "prefix_test" format name and not just "test"