1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-09-20 00:11:35 +02:00

Multi-db support

This commit is contained in:
Hillel Coren 2017-05-01 16:06:34 +03:00
parent 3f713d3b12
commit 5baf12ae26
4 changed files with 10 additions and 6 deletions

View File

@ -18,7 +18,9 @@ class DatabaseLookup
}
if ($guard == 'user') {
if ($email = $request->email) {
if ($server = session(SESSION_DB_SERVER)) {
config(['database.default' => $server]);
} elseif ($email = $request->email) {
LookupUser::setServerByField('email', $email);
}
} elseif ($guard == 'api') {

View File

@ -93,7 +93,7 @@ Route::get('/recover_password', ['as' => 'forgot', 'uses' => 'Auth\PasswordContr
Route::get('/password/reset/{token}', ['as' => 'forgot', 'uses' => 'Auth\PasswordController@getReset']);
Route::get('/user/confirm/{code}', 'UserController@confirm');
Route::group(['middleware' => ['lookup:reset']], function () {
Route::group(['middleware' => ['lookup:user']], function () {
Route::post('/login', ['as' => 'login', 'uses' => 'Auth\AuthController@postLoginWrapper']);
Route::post('/recover_password', ['as' => 'forgot', 'uses' => 'Auth\PasswordController@postEmail']);
Route::post('/password/reset', ['as' => 'forgot', 'uses' => 'Auth\PasswordController@postReset']);

View File

@ -68,7 +68,7 @@ class LookupModel extends Eloquent
$isUser = $className == 'App\Models\User';
// check if we've cached this lookup
if ($server = session($key)) {
if (env('MULTI_DB_CACHE_ENABLED') && $server = session($key)) {
static::setDbServer($server, $isUser);
return;
}
@ -76,9 +76,10 @@ class LookupModel extends Eloquent
$current = config('database.default');
config(['database.default' => DB_NINJA_LOOKUP]);
if ($value && $lookupUser = static::where($field, '=', $value)->first()) {
if ($value && $lookupModel = static::where($field, '=', $value)->first()) {
$entity = new $className();
$server = $lookupUser->getDbServer();
$server = $lookupModel->getDbServer();
static::setDbServer($server, $isUser);
// check entity is found on the server

View File

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