Multi-db support

This commit is contained in:
Hillel Coren 2017-05-02 12:09:01 +03:00
parent bff3160dc2
commit 6108196ee7
5 changed files with 10 additions and 34 deletions

View File

@ -93,8 +93,12 @@ class LookupModel extends Eloquent
} }
} }
public static function setDbServer($server, $isUser = false) protected static function setDbServer($server, $isUser = false)
{ {
if (! env('MULTI_DB_ENABLED')) {
return;
}
config(['database.default' => $server]); config(['database.default' => $server]);
if ($isUser) { if ($isUser) {

View File

@ -46,12 +46,7 @@ return [
'connections' => [ 'connections' => [
'sqlite' => [ // single database setup
'driver' => 'sqlite',
'database' => storage_path().'/database.sqlite',
'prefix' => '',
],
'mysql' => [ 'mysql' => [
'driver' => 'mysql', 'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'), 'host' => env('DB_HOST', 'localhost'),
@ -65,6 +60,7 @@ return [
'engine' => 'InnoDB', 'engine' => 'InnoDB',
], ],
// multi-database setup
'db-ninja-0' => [ 'db-ninja-0' => [
'driver' => 'mysql', 'driver' => 'mysql',
'host' => env('DB_HOST', env('DB_HOST0', 'localhost')), 'host' => env('DB_HOST', env('DB_HOST0', 'localhost')),
@ -104,26 +100,6 @@ return [
'engine' => 'InnoDB', 'engine' => 'InnoDB',
], ],
'pgsql' => [
'driver' => 'pgsql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'schema' => 'public',
],
'sqlsrv' => [
'driver' => 'sqlsrv',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'prefix' => '',
],
], ],
/* /*

View File

@ -49,12 +49,6 @@ class AddMultipleDatabaseSupport extends Migration
Schema::rename('lookup_tokens', 'lookup_account_tokens'); Schema::rename('lookup_tokens', 'lookup_account_tokens');
DB::table('db_servers')->insert(
['name' => 'db-ninja-1']
);
DB::table('db_servers')->insert(
['name' => 'db-ninja-2']
);
} }
/** /**

View File

@ -29,5 +29,6 @@ class DatabaseSeeder extends Seeder
$this->call('LanguageSeeder'); $this->call('LanguageSeeder');
$this->call('IndustrySeeder'); $this->call('IndustrySeeder');
$this->call('FrequencySeeder'); $this->call('FrequencySeeder');
$this->call('DbServerSeeder');
} }
} }

View File

@ -25,7 +25,8 @@ class UpdateSeeder extends Seeder
$this->call('LanguageSeeder'); $this->call('LanguageSeeder');
$this->call('IndustrySeeder'); $this->call('IndustrySeeder');
$this->call('FrequencySeeder'); $this->call('FrequencySeeder');
$this->call('DbServerSeeder');
Cache::flush(); Cache::flush();
} }
} }