Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

Data Model Questions /

lowercase table hack


Reply


3 Posts   2351 Views

Avatar
Nicolaas

Forum Moderator, 213 Posts

24 August 2009 at 3:52pm

Edited: 24/08/2009 3:53pm

I recently ended up with a database in which all tables where lowercase.

I used the following rather dirty hack to fix this:

put the following code in line ~ 189 of sapphire/core/model/DatabaseAdmin.php

$t = $dataClass;
if(DB::query('SELECT * FROM information_schema.tables WHERE table_schema like binary "'.strtolower($t).'" or Table_Name like binary "'.strtolower($t).'";')->value()) {
DB::query('RENAME TABLE `'.strtolower($t).'` TO `'.($t).'` ;');
}

put the following code in around line 275 of sapphire/core/model/MySQLDatabase.php...

public function fieldList($table) {
$t = $table;
if(DB::query('SELECT * FROM information_schema.tables WHERE table_schema like binary "'.strtolower($t).'" or Table_Name like binary "'.strtolower($t).'";')->value()) {
DB::query('RENAME TABLE `'.strtolower($t).'` TO `'.($t).'` ;');
}

Avatar
brokemeister

Community Member, 30 Posts

12 September 2009 at 12:15am

Hi!

I'm pretty sure you build your database on a wamp installation.

You have to configure your database:

http://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity.html

Cheers,

Malte

Avatar
brandstudionz

Community Member, 3 Posts

9 December 2009 at 5:58pm

Legend this was really annoying the hell out of me!