vendredi 18 décembre 2015

Laravel Multitenant Timezone

I have a system that is multi-tenant, multiple-databases system based on Laravel 5.0. We just got another client situated in another time-zone than us.

Basically, the configurations of each tenant gets read from a config where where it says database info, domain, ip etc.. and I added timezone to these config files. All of them work except the timezone.

$configs = @parse_ini_file(base_path() . '/config/tenants/' . $tenant . '.conf', true);

Config::set('app.timezone', $configs['TIMEZONE']);
if (App::environment('production')) {
    Config::set('app.debug', false);
    Config::set('app.attachment_directory', $configs['PRODUCTION_ATTACHMENT_DIRECTORY']);
    Config::set('database.connections.mysql.database', $configs['PRODUCTION_DATABASE_NAME']);
    Config::set('database.connections.mysql.username', $configs['PRODUCTION_DATABASE_USERNAME']);
    Config::set('database.connections.mysql.password', $configs['PRODUCTION_DATABASE_PASSWORD']);
} elseif (App::environment('staging')) {
    Config::set('app.debug', true);
    Config::set('app.attachment_directory', $configs['STAGING_ATTACHMENT_DIRECTORY']);
    Config::set('database.connections.mysql.database', $configs['STAGING_DATABASE_NAME']);
    Config::set('database.connections.mysql.username', $configs['STAGING_DATABASE_USERNAME']);
    Config::set('database.connections.mysql.password', $configs['STAGING_DATABASE_PASSWORD']);
} elseif (App::environment('development')) {
    Config::set('app.debug', true);
    Config::set('app.attachment_directory', base_path() . '/public/uploads/attachments/');
    Config::set('database.connections.mysql.database', $configs['LOCAL_DATABASE_NAME']);
    Config::set('database.connections.mysql.username', $configs['LOCAL_DATABASE_USERNAME']);
    Config::set('database.connections.mysql.password', $configs['LOCAL_DATABASE_PASSWORD']);
}



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire