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 😉

Condividi il post con i tuoi amici o colleghi
emawebdesign
Autore: emawebdesign

Full Stack Developer, SEO Specialist, esperto della trasformazione digitale con oltre 20 anni di esperienza.

Pubblicato in: