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   2297 Views

Avatar
Nicolaas

24 August 2009 at 3:52pm (Last edited: 24 August 2009 3:53pm), Forum Moderator, 213 Posts

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

12 September 2009 at 12:15am Community Member, 30 Posts

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

9 December 2009 at 5:58pm Community Member, 3 Posts

Legend this was really annoying the hell out of me!