I don't know what happened but when I started my wamp server, it does not turn my wamp icon to full white. I stops at being 1/3 in yellow. But last time I opened my wamp, it was perfectly ok. Weird, so I started to look for solutions to fix this.
Showing posts with label mysql. Show all posts
Showing posts with label mysql. Show all posts
Friday, November 9, 2012
MySQL Binlog problem
Thursday, January 19, 2012
MySQL: MyISAM vs InnoDB
I was pondering what is the difference of MyISAM and InnoDB? They are both types of database in MySQL. For MySQL v5.4 and lower, the default is MyISAM; For MySQL v5.5 and higher, the default is InnoDB. What is their difference? How will I know what to choose? Choosing the right type is crucial in database designing.
Friday, December 16, 2011
Dynamic database connection in CakePhp
I encountered this scenario at work wherein I have the same logic, same structure but using different brands. The problem is their database name and connection is different. Below is the solution I found:
Step 1: Create your database connection in database.php
Step 2: Add this function to app_model.php
Step 3: Add this function to app_controller.php
Step 4: Add this to your model
After doing this, you'd be able to change your database connection as needed.
Step 1: Create your database connection in database.php
var $brandXConfig = array( 'driver' => 'postgres', 'persistent' => false, 'host' => 'localhost', 'login' => 'root', 'password' => '', 'database' => 'brand_x', 'prefix' => '', //'encoding' => 'utf8', ); var $brandYConfig = array( 'driver' => 'postgres', 'persistent' => false, 'host' => 'localhost', 'login' => 'root', 'password' => '', 'database' => 'brand_y', 'prefix' => '', //'encoding' => 'utf8', );
Step 2: Add this function to app_model.php
Class AppModel extends Model
{
function changeDataSource($newSource) {
parent::setDataSource($newSource);
parent::__construct();
}
}
Step 3: Add this function to app_controller.php
Class AppController extends Controller
{
function changeDbSource($database = 'default') {
$db = ConnectionManager::getInstance();
$connected = $db->getDataSource($database);
if($connected->isConnected())
return true;
return false;
}
}
Step 4: Add this to your model
function changeMyDb($brand)
{
if($brand == 'brandX') {
$this->changeDataSource('brandXConfig');
}
else if($brand == 'brandY') {
$this->changeDataSource('brandYConfig');
}
}
After doing this, you'd be able to change your database connection as needed.
Subscribe to:
Posts (Atom)