Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Ändern Sie die Konfiguration der CakePHP-Datenbank global

Das Bereitstellen von Konfigurationen in Abhängigkeit von der Umgebung ist eine ziemlich häufige Aufgabe, und es gibt einige andere Möglichkeiten, dies zu handhaben.

Umgebungsvariablen

Falls die Umgebung es zulässt, können Sie Umgebungsvariablen verwenden. Sie können die DB-Konfiguration einfach über die DATABASE_URL bereitstellen Variable in Form einer DSN-Verbindungszeichenfolge wie

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

Kochbuch> Konfiguration> Umgebungsvariablen

Zusätzliche Konfigurationsdateien

Eine weitere Möglichkeit besteht darin, separate/zusätzliche Konfigurationsdateien basierend auf der aktuellen Umgebung zu laden, sodass Sie nur die Dateien bereitstellen können, die tatsächlich für eine bestimmte Umgebung benötigt werden.

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

Cookbook> Configuration> Loading Additional Konfigurationsdateien

Verbindungs-Aliasing

Und es gibt auch Verbindungs-Aliasing, CakePHP macht das automatisch in der Testumgebung. Angenommen, Sie haben einen default und eine production Konfiguration könnten Sie dann production aliasieren Verbindung als default in Ihrer Produktionsumgebung, sodass Ihr Code überall versucht, den default zu verwenden Verbindung, es wird tatsächlich die production verwendet eins.

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

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