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:
parent
3f713d3b12
commit
5baf12ae26
@ -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') {
|
||||
|
@ -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']);
|
||||
|
@ -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
|
||||
|
@ -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'],
|
||||
);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user