I was working C5 with xampp localy and now that I intended to move to the server I did what usualy used to do (with other CMS):
- backup the database and restore it at the server
- upload all the files by FTP (after clear and disable cache and disable Pretty Urls)
and now I get the error:
Fatal error: Uncaught exception 'ADODB_Exception' with message 'mysql error: [1146: Table 'sorrisow_sorri.Config' doesn't exist] in EXECUTE("select cfValue from Config where cfKey = 'ENABLE_CACHE'") ' in /home/sorrisow/public_html/concrete/libraries/3rdparty/adodb/adodb-exceptions.inc.php:78 Stack trace: #0 /home/sorrisow/public_html/concrete/libraries/3rdparty/adodb/adodb.inc.php(1042): adodb_throw('mysql', 'EXECUTE', 1146, 'Table 'sorrisow...', 'select cfValue ...', false, Object(ADODB_mysql)) #1 /home/sorrisow/public_html/concrete/libraries/3rdparty/adodb/adodb.inc.php(998): ADOConnection->_Execute('select cfValue ...') #2 /home/sorrisow/public_html/concrete/libraries/3rdparty/adodb/adodb.inc.php(1610): ADOConnection->Execute('select cfValue ...', Array) #3 /home/sorrisow/public_html/concrete/libraries/database.php(73): ADOConnection->GetRow('select cfValue ...', Array) #4 [internal function]: Database->__call(Array, Array) #5 /home/sorrisow/public_html/concrete/models/config.php(68): Database->GetRow('GetRow', Array) in /home/sorrisow/public_html/concrete/libraries/3rdparty/adodb/adodb-exceptions.inc.php on line 78
What can be wrong?
If your new database is really in use, I think that the backup isn't imported properly. Take a look at new db directly with phpmyadmin or mysql cli. Can you see any tables there?
Then did change config/site.php.
And yes I can see the tables there...
I was working on windows (xampp) and moved to a linux server! Is there the problem?
Then, in the future, you can set lower_case_table_names=2 on Windows to help smooth the transition from your computer to your server.
I did try to set lower_case_table_names=2 in windows but the variables have permissions to read only - How may I turn permissions to be able to set lower_case_table_names=2?
to my.ini in the mysql dir and restart mysql service.
What Mnkras probably meant, Linux has case sensitive table names and table names are stored as written. Windows instead uses lowercase table names by default, so it converts everything to lowercase.
If this is the case and there is no other option, you can try this system variable in MySQL:
BEFORE you do that, make sure there are no other databases with uppercase table names! Remember to restart MySQL.
Thanx for your help. This was my first moving and it was not the Site Ready To Work - it was a test...
So as Elyon says I will "prepare" the tables on Windows to help with the transition.
Here is a script to rename the default C5 tables:
- backup your db on windows mysql (just to be sure).
- Execute sql in this attachment on your windows mysql server.
- dump db again and import in linux mysql
For me it worked.
ALTER TABLE `areagroupblocktypes` RENAME `AreaGroupBlockTypes`
...having lower_case_table_names=2, of course. Maybe it complains "Get glasses! There is already table named AreaGroupBlockTypes", as all the lookups are converted to lowercase, but renames are not.
It didn't quite work for me on windows (also moving a wamp site) - but i changed all the initial table names in your file to lowercase and ran it on the server instead - worked.
If you do it that way one can of course skip the TMP table step.
How can I assure however that it my tables on localhost will be compatible.
Must my.ini be:
lower_case_table_names=1 or 2 ?
Thanks in advance
Here is the updated sql script for Concrete5 v184.108.40.206 plus asmiller_gallery and crossslide.
/EDIT: oops, the case was not respected for one of the tables. I updated this post, you can find the fixed sql script attached.
See how it works:
I am a bit disappointed that someone is charging for this, although I could see how if you don't know how to get into phpmyadmin it might make sense (or better yet if it will automatically update when new C5 comes out -- or better better yet if it works for ALL tables and not just the C5 core ones, i.e. other blocks/packages you have installed).
I don't think anyone has a problem with someone selling a premium theme, and most people probably don't have a problem with someone selling an advanced image gallery or an ecommerce package (for example). But when it comes to very foundational tools like this that are essential to just making a basic site work, then it rubs people the wrong way to have to pay money for it (because really it should be fixed in the core system).
Again, I am *not* arguing that this is right or wrong, but I think it is important for us marketplace developers to understand the reality that people have certain perceptions, and if you are going against a common perception like this, then it is to your benefit to do a very good job of explaining *why* the thing you are selling is worth the money.
Since there are free scripts floating around the forums to address this issue, what is it that your paid addon does that is better than the free scripts?
(also the only bbcode on the forums is [code])