Move from XAMPP Development Server to Live Server, case sensitiv mysql1 user found helpful
I'm running into to a problem with moving my site from a local development platform to a live site. Here is what I done:
1. Copy all C5 Files from local to the webspace
2. Backup local database to a sql script and imported the file on the webspace(BUT before I had to change all the Table Names manual from lower case to Mixed case, because I run on a XAMPP Windows server and the unix server from my hoster just recognize the mixed case table names)
3. So far the site was working, but in the dashboard there are some tings missing:
- The filemanager is not working but I do not get any error, it just show nothing
- Page and themes is not working, just not showing content on the page when I click there
- Maintenance is not woring, just shows no content when I click the button
It seams the mysql case sensitive stuff has to do something with this. When I start a fresh installation on the webspace everything works fine. But I have a lot of content already in my page on the test server, and I don't want to start from scratch again.
I tried a lot so far, but the dashboard is not working completely so far.
My local installation is running. I also imported the sql file backup where I changed the table names manual into my local system. It is still working properly. It shows all pages from the dashboard correctly.
Maybe there is a easy solution for this.
Thanks in advance for any reply.
as per these instructions:http://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity....
I wonder if this could be solved by concrete5 devs doing a refactoring for case-sensitive mismatches between table names & db calls in future releases? Not everyone has access to their mysql config...
I found the value on my local system as well to change from lower case to mixed case table names. But this helps just for new projects and not for the existing one. At the end I started from scratch and moved all the content to a new Concrete5 installation.
If not XAMPP what is the recommended localhost setup for C5 development on Windows?
So you have to add tables for 5.4.0
Run the following command under MySQL command line or phpMyAdmin.
Then you can make all table case sensitive.
NOTE: you must run the following commands AFTER you change the MySQL config
ALTER TABLE `areagroupblocktypes` RENAME TO `AreaGroupBlockTypes`; ALTER TABLE `areagroups` RENAME TO `AreaGroups`; ALTER TABLE `areas` RENAME TO `Areas`; ALTER TABLE `blockrelations` RENAME TO `BlockRelations`; ALTER TABLE `blocks` RENAME TO `Blocks`; ALTER TABLE `blocktypes` RENAME TO `BlockTypes`; ALTER TABLE `btcontentfile` RENAME TO `btContentFile`; ALTER TABLE `btcontentimage` RENAME TO `btContentImage`; ALTER TABLE `btcontentlocal` RENAME TO `btContentLocal`; ALTER TABLE `btexternalform` RENAME TO `btExternalForm`; ALTER TABLE `btflashcontent` RENAME TO `btFlashContent`; ALTER TABLE `btform` RENAME TO `btForm`; ALTER TABLE `btformanswers` RENAME TO `btFormAnswers`; ALTER TABLE `btformanswerset` RENAME TO `btFormAnswerSet`; ALTER TABLE `btformquestions` RENAME TO `btFormQuestions`;
But MySQL configuration and associated files vary system to system and version to version - which is why I pointed toward the MySQL docs instead of putting specific instructions here.
In order to have mysql change the "lower_case_table_names=1" to "lower_case_table_names=0", I found the "my.ini" file located here:
I am running xampp on a windows7 platform.
When opening the "my.ini" file located in the "bin" I went to line to line 28 in that particular file.
It should say something like [mysqld].
Here is where I made the change:
# The following options will be passed to all MySQL clients [client] #user = your_username #password = your_password host = . port = 3306 socket = "MySQL" # Here follows entries for some specific programs # The MySQL server [mysqld] basedir = "C:/xampp/mysql/" datadir = "C:/xampp/mysql/data/"
and the change is here:
# The following options will be passed to all MySQL clients [client] #user = your_username #password = your_password host = . port = 3306 socket = "MySQL" # Here follows entries for some specific programs # The MySQL server [mysqld] lower_case_table_names = 0 basedir = "C:/xampp/mysql/" datadir = "C:/xampp/mysql/data/"
After this minor operation I shut down apache, php and mysql, and restarted the whole thing, ran the installation of C5 locally and behold, the table names were not changed. So the insertion worked.
Hope this helps
how it works:
There's full table list of concrete5 version 6.0.2. (posted on Apr 24, 2013).
Instead of manually creating a SQL script or changing the table names, I made a PHP script that get the original table names from the config files (db.xml) and the it creates the SQL script to change the table names.
Script is here:
Note that when running with phpMyAdmin, you should temporary enable: Settings -> SQL Queries -> Ignore multiple statement errors
And once done, check the table names, a few tables might not have been renamed.
If you are looking to change the case of your database tables, there are two add-ons that are available to assist you.