Problem migrating from 'localhost' to webserver
I just tried all tips on this old topic: https://vanillaforums.org/discussion/14241/migration-from-localhost-to-webserver-bonk?
Steps I did:
1. Edit 'conf/config.php' (database name, username, password).
2. Compress all Vanilla files in local: vanilla-localhost.zip
3. Export Vanilla SQL database (save it in .sql) (localhost)
4. Search & Replace on SQL file: 127.0.0.1 > example.com
5. Upload SQL to my webserver
6. Upload my vanilla-localhost.zip to my webserver
7. Extract all files from vanilla-localhost.zip on webserver
Also, other things I did too:
1. Remove all *.ini files inside 'cache/' folder.
2. Double checked DB details in config.php.
3. CHMOD +755 to all files & folders in FTP.
4. Check if .htaccess exists...
Some tips? I was dealing more than 3 hours with this and can't find any solution
I noticed when make a fresh installation on local, DB tables looks like this; but fresh install on webserver, tables looks like this.
^- Anyway this is not my topic-related, because I'm exporting full SQL & Files from local -> webserver.
Best Answer
-
nesttle New
Problem is a mismatch on table names, between localhost and webserver.
This ocurrs because on Windows database and table names are not case sensitive, and case sensitive in most varieties of Unix.
Vanilla works nice on Windows (xampp, wampp,...), but when you export SQL and upload to webserver, all table names are in LOWERCASE. You must replace all "gdn_" to "GDN_" in .sql file, and like I said in my previous post.
To fix this and enable CASE-SENSITIVE tables on Windows, you must follow this steps.
1. Edit "my.ini" (MySQL configuration file).
2. Add this line under [mysqld] area:
lower_case_table_names = 0Now make a fresh install of Vanilla, and you should see the tables like this: http://i.imgur.com/w7dyEMV.png
If you want to update your tables and make it case-sensitive, you must:
1. Export your localhost Vanilla's .SQL database
2. Search & Replace all "gdn_" -> "GDN_" ocurrences on exported .SQL file. You must replace the 38 table names too and would look like this: http://i.imgur.com/w7dyEMV.png (uppercase first letter of each table name).
3. Delete all Vanilla tables from database.
4. Import the replaced file with fixed namesHope this solve the problem to all of you!
8
Answers
I suggest you start a fresh install of the latest version of Vanilla on the web host and then migrate the files in your local database to the vanilla installation as an overwrite via ftp and not zip them.
Run utility/structure to rebuild the tables as needed. The prefix on the new web server are the correct ones as far as I know. GDN and not gdn… make sure the sql is the the latest version of where you are migrating to.
❌ ✊ ♥. ¸. ••. ¸♥¸. ••. ¸♥ ✊ ❌
I "solved" this replacing gdn_ to GDN_ on the SQL file & uppercase on words, before uploading it to webserver.
Example:
Still don't know why this is happenin
You did not post the errors that occurred … Probably from your own set up ?
❌ ✊ ♥. ¸. ••. ¸♥¸. ••. ¸♥ ✊ ❌
Problem is a mismatch on table names, between localhost and webserver.
This ocurrs because on Windows database and table names are not case sensitive, and case sensitive in most varieties of Unix.
Vanilla works nice on Windows (xampp, wampp,...), but when you export SQL and upload to webserver, all table names are in LOWERCASE. You must replace all "gdn_" to "GDN_" in .sql file, and like I said in my previous post.
To fix this and enable CASE-SENSITIVE tables on Windows, you must follow this steps.
1. Edit "my.ini" (MySQL configuration file).
2. Add this line under [mysqld] area:
lower_case_table_names = 0
Now make a fresh install of Vanilla, and you should see the tables like this: http://i.imgur.com/w7dyEMV.png
If you want to update your tables and make it case-sensitive, you must:
1. Export your localhost Vanilla's .SQL database
2. Search & Replace all "gdn_" -> "GDN_" ocurrences on exported .SQL file. You must replace the 38 table names too and would look like this: http://i.imgur.com/w7dyEMV.png (uppercase first letter of each table name).
3. Delete all Vanilla tables from database.
4. Import the replaced file with fixed names
Hope this solve the problem to all of you!
Thanks for coming back with the solution for others who might encounter this issue !!
❌ ✊ ♥. ¸. ••. ¸♥¸. ••. ¸♥ ✊ ❌
figured I'd bump this since there was an issue reported and people may be testing and then upgrading to different systems for 2.3 upgrades.
https://github.com/vanilla/vanilla/issues/4843
good explanation here..
http://dev.mysql.com/doc/refman/5.7/en/identifier-case-sensitivity.html
http://dev.mysql.com/doc/refman/5.6/en/identifier-case-sensitivity.html
Pragmatism is all I have to offer. Avoiding the sidelines and providing centerline pro-tips.