Versionnage SQL

Le versionnage SQL vous permet de conserver la même structure en production et en préproduction. Cela permet également de modifier la structure de votre base de manière journalisée et sans accès SQL ou phpMyAdmin

Dans etc/sql_versionning.php vous pouvez ajouter les créations de tables, de champs, créations d'index, modifications de champs comme cela:

 $sql_versionning[TABLE][CHAMPS] = SQL REQUEST; 

Par exemple si nous souhaitons ajouter un champ id_country dans la table client

 $sql_versionning['clients']['id_country'] = "ALTER TABLE  `gen_clients` ADD  `id_country` MEDIUMINT NULL DEFAULT NULL ;"

Ceci fonctionne dans le cas d'une table existante. Dans le cas d'une table non existante, nous devons passer par la variable "create" :


$sql_versionning['create'][] = "CREATE TABLE IF NOT EXISTS `gen_appsms` (
  `id_sms` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `num` varchar(20) NOT NULL,
  `content` varchar(255) NOT NULL,
  `sent` tinyint(1) DEFAULT NULL,
  `sent_at` datetime DEFAULT NULL,
  `created_at` datetime NOT NULL,
  PRIMARY KEY (`id_sms`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;";