2017-08-03 1 views
1

Je me développe sur mon portable et sur mon destkop, aussi je veux utiliser un serveur SQL ce que je peux me connecter à tout moment.Comment utiliser une base de données différente sur le développement que la production

Je veux me connecter à cela quand je suis sur l'environnement de développement et utiliser un autre quand je suis en production. Comment puis-je atteindre cet objectif?

J'ai essayé dans le config/database:

if('env' == 'development'){ 
    $host = 'mysqlserver.alias.com'; 
    $database = 'mydb'; 
    $username = 'myuname'; 
    $password = 'mypwd'; 
} else { 
    $host = whatsintheenv; 
    $database = whatsintheenv; 
    $username = whatsintheenv; 
    $password = whatsintheenv;  
} 
+0

'if (App :: environment ('local')) {...}' –

Répondre

0

En Laravel vous pouvez vérifier l'environnement par:

if (App::environment('local')) { 
    // The environment is local 
} 

if (App::environment(['local', 'staging'])) { 
    // The environment is either local OR staging... 
} 
0

Laravel utilise la bibliothèque dotenv PHP - https://github.com/vlucas/phpdotenv.

Cela signifie que vous souhaiterez créer un fichier .env sur chacune de vos machines avec la connexion que vous souhaitez utiliser. Ensuite, dans votre code, vous pouvez charger ces valeurs en utilisant App:environment('ENV_VALUE').

2

Ceci devrait être géré par votre configuration d'environnement via le fichier .env. Si vous n'avez pas encore de fichier .env, faites une copie de .env.example. Là, vous trouverez ces paramètres:

DB_CONNECTION=mysql 
DB_HOST=127.0.0.1 
DB_PORT=3306 
DB_DATABASE=homestead 
DB_USERNAME=homestead 
DB_PASSWORD=secret 

Il vous suffit de modifier ces valeurs pour vous connecter au serveur de base de données approprié.

Le fichier .env est exclu du contrôle de la source, de sorte que votre ordinateur portable et votre bureau peuvent avoir des contenus différents dans ce fichier.

+1

Cela devrait être la bonne réponse – Desh901