sql >> Databasteknik >  >> RDS >> Mysql

Ändra CakePHP-databaskonfiguration globalt

Att tillhandahålla konfiguration beroende på miljön är en ganska vanlig uppgift, och det finns en hel del andra sätt att hantera detta.

Miljövariabler

Om miljön tillåter det kan du använda miljövariabler. Du kan enkelt tillhandahålla DB-konfiguration via DATABASE_URL variabel i form av en DSN-anslutningssträng som

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

Kokbok> Konfiguration> Miljövariabler

Ytterligare konfigurationsfiler

Ett annat alternativ är att ladda separata/ytterligare konfigurationsfiler baserat på den aktuella miljön, så att du bara kan distribuera de filer som faktiskt krävs för en specifik miljö.

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);

Kokbok> Konfiguration> Laddar ytterligare Konfigurationsfiler

Anslutningsaliasing

Och det finns också anslutningsaliasing, CakePHP gör det automatiskt i testmiljön. Säg att du har en default och en production konfiuration, kan du sedan alias production anslutning som default i din produktionsmiljö, så att din kod överallt försöker använda default anslutning kommer den faktiskt att använda production en.

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

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




  1. Skillnaden mellan int och int(2) datatyper i min sql

  2. Python3.4 kan inte installera mysql-python

  3. MySQL med Sum och Case

  4. PostgreSQL sammansatt primärnyckel