Why does my site copy keep asking for btDateArchive?

Permalink
I am trying to update a Concrete 5.5.1 site. I don't want to risk breaking the live site, so I am trying to make an exact copy of it in a separate location.

First, I installed a clean copy of Concrete 5.5.1, to test that the server I was using to test is compatible with that version of Concrete. It worked fine.

I deleted the database from my clean copy, and installed a copy of the database from my live site. The home page was able to display data from the database, so clearly the site was connected - but all the links just show this error:

An unexpected error occurred. mysql error: [1146: Table 'dartmooraccommodation.btDateArchive' doesn't exist] in EXECUTE("SHOW COLUMNS FROM `btDateArchive`")

I thought perhaps my clean copy was missing something, so I deleted all the files, and instead copied the live site files onto the test server. Once I had updated config/site.php to connect to the test database, I got exactly the same error.

Here is my test site :http://datest.clareassoc.com/

What's particularly puzzling me is that the live site database doesn't HAVE a table called btDateArchive, but is working fine without it. So why is is a problem that the test database can't find that table?

cycas
 
exchangecore replied on at Permalink Reply
exchangecore
Did you by chance happen to move this from a windows machine to a linux machine? There are case sensitivity issues in MySQL when doing this, since windows will usually create the tables in all lower case, and linux looks for the case sensitive table name, so when you move your database it won't find it because it's all lower case instead.

Really quite unfortunate but something you might check into.
cycas replied on at Permalink Reply
cycas
Thanks for trying, but no: both servers are Linux and the table names are identically capitalised. There is definitely no btDateArchive table at all, capitalised in any way.
WebcentricLtd replied on at Permalink Reply
Hi,
not sure if this will help but. The btDateArchive belongs to a core block but I just had a quick check and it doesn't look as though the table actually gets created on install (don't know why - didn't look at the code).

What I would do is search the codebase (I use textpad for string searching as it tends to work quite well) for the statement

EXECUTE("SHOW COLUMNS FROM `btDateArchive`")

see where it occurs in the code and work it back from there.
cycas replied on at Permalink Reply
cycas
That was helpful, thanks: pointed me in the right direction. I found that a completely clean install did create that table (so why my live copy doesn't have it is a mystery).

So, I did ANOTHER clean install, and this time I copied the live database over the new clean one rather than deleting the clean one first, and that seems to have resolved that issue.