sql >> Database teknologi >  >> RDS >> Mysql

Skift CakePHP-databasekonfiguration globalt

At levere konfiguration afhængigt af miljøet er en ret almindelig opgave, og der er en hel del andre måder at håndtere dette på.

Miljøvariabler

Hvis miljøet tillader det, kan du bruge miljøvariabler. Du kan nemt levere DB-konfiguration via DATABASE_URL variabel i form af en DSN-forbindelsesstreng som

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

Kogebog> Konfiguration> Miljøvariabler

Yderligere konfigurationsfiler

En anden mulighed er at indlæse separate/yderligere konfigurationsfiler baseret på det aktuelle miljø, så du kun kan implementere de filer, der faktisk er nødvendige for et specifikt 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);

Kogebog> Konfiguration> Indlæser yderligere Konfigurationsfiler

Forbindelsesaliasing

Og der er også forbindelsesaliasing, det gør CakePHP automatisk i testmiljøet. Lad os sige, at du har en default og en production konfiuration, kan du derefter kalde production forbindelse som default i dit produktionsmiljø, så din kode overalt forsøger at bruge default forbindelse, vil den faktisk bruge production en.

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

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




  1. Sequelize:multiple where-sætning

  2. Benchmarking Postgres-XL

  3. SpringDataJPA gemmer OneToOne-relation får Kan ikke tilføje eller opdatere en underordnet række:en fremmednøglebegrænsning mislykkes

  4. MySQL offset uendelige rækker