Mysql
 sql >> Base de données >  >> RDS >> Mysql

Modifier globalement la configuration de la base de données CakePHP

Fournir une configuration en fonction de l'environnement est une tâche assez courante, et il existe de nombreuses autres façons de gérer cela.

Variables d'environnement

Si l'environnement le permet, vous pouvez utiliser des variables d'environnement. Vous pouvez facilement fournir la configuration de la base de données via DATABASE_URL variable sous la forme d'une chaîne de connexion DSN comme

mysql://user:[email protected]/production?encoding=utf8&timezone=UTC&cacheMetadata=true

Livre de recettes > Configuration > Variables d'environnement

Fichiers de configuration supplémentaires

Une autre option consiste à charger des fichiers de configuration séparés/supplémentaires en fonction de l'environnement actuel, de sorte que vous ne puissiez déployer que les fichiers réellement requis pour un environnement spécifique.

Configure::load('app', 'default', false);
// $enviroment needs to be validated /sanitzied in order to
// avoid loading arbitrary files from the config directory
Configure::load($enviroment, 'default', true);

Livre de recettes> Configuration> Chargement supplémentaire Fichiers de configuration

Création d'alias de connexion

Et il y a aussi l'aliasing de connexion, CakePHP le fait automatiquement dans l'environnement de test. Supposons que vous ayez un default et une production configuration, vous pourriez alors aliaser le production connexion comme default dans votre environnement de production, de sorte que partout où votre code essaie d'utiliser le default connexion, il utilisera en fait le production un.

\Cake\DataSource\ConnectionManager::alias('production', 'default');

API > \Cake\DataSource\ConnectionManager : :alias()