CakePHP – SQLite: guida all’uso
Pubblicato il 27 Giugno 2014
Per un’esigenza lavorativa ho utilizzato il mio framework MVC preferito, CakePHP, con il database SQLite. L’ORM integrato in CakePHP è basato su PDO, quindi, oltre all’immancabile MySQL, permette l’interazione anche con altri database tra i quali SQLite. Vediamo come procedere.
Per prima cosa, nel file app/Config/database.php, specifichiamo come datasource “SQLite” nel seguente modo:
public $default = array(
'datasource' => 'Database/Sqlite',
'persistent' => false,
'database' => 'database.sqlite',
'prefix' => 'prefix_',
'encoding' => 'utf8',
);
Bene, e poi?
Basta così! Fatto.
Non devi modificare neanche una linea di codice nella tua applicazione se, quest’ultima, era già esistente e memorizzava dati in MySQL. Un grande vantaggio nell’utilizzo di un framework è proprio questo: un livello di astrazione che permette al codice di essere indipendente da qualsiasi motore di archiviazione dati o schema relazionale.
Per un accesso diretto al database puoi utilizzare Adminer.
Non dimenticare che, tra MySQL e SQLite, ci sono comunque delle differenze, anche nel tipo di dati e nella sintassi SQL. Nel caso sei proprio obbligato a dover scrivere delle query SQL, ricorda che il seguente codice SQL per MySQL:
CREATE TABLE IF NOT EXISTS `table` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(255) collate utf8_unicode_ci default NULL,
PRIMARY KEY (`id`)
) ENGINE=MYISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1;
diventa così per SQLite:
CREATE TABLE `table` (
"id" integer NOT NULL PRIMARY KEY AUTOINCREMENT,
"name" text NULL
);
In ogni caso, per qualsiasi cosa, fai riferimento alla documentazione ufficiale. Come sempre 😉
Pubblicato in: