`bitcoin.conf`:
```
...
testnet=1
# [wallets]
test.wallet=test_alpha
test.wallet=alpha_wallet
test.wallet=none
...
```

Run bitcoin client.

`debug.log`:
```
...
2019-02-03T13:09:23Z Using wallet directory /home/hebasto/.bitcoin/testnet3/wallets
2019-02-03T13:09:23Z init message: Verifying wallet(s)...
2019-02-03T13:09:23Z Using BerkeleyDB version Berkeley DB 4.8.30: (April  9, 2010)
2019-02-03T13:09:23Z Using wallet wallet.dat
2019-02-03T13:09:23Z BerkeleyEnvironment::Open: LogDir=/home/hebasto/.bitcoin/testnet3/wallets/test_alpha/database ErrorFile=/home/hebasto/.bitcoin/testnet3/wallets/test_alpha/db.log
2019-02-03T13:09:23Z Using BerkeleyDB version Berkeley DB 4.8.30: (April  9, 2010)
2019-02-03T13:09:23Z Using wallet wallet.dat
2019-02-03T13:09:23Z BerkeleyEnvironment::Open: LogDir=/home/hebasto/.bitcoin/testnet3/wallets/alpha_wallet/database ErrorFile=/home/hebasto/.bitcoin/testnet3/wallets/alpha_wallet/db.log
2019-02-03T13:09:23Z Using BerkeleyDB version Berkeley DB 4.8.30: (April  9, 2010)
2019-02-03T13:09:23Z Using wallet wallet.dat
2019-02-03T13:09:23Z BerkeleyEnvironment::Open: LogDir=/home/hebasto/.bitcoin/testnet3/wallets/none/database ErrorFile=/home/hebasto/.bitcoin/testnet3/wallets/none/db.log9
...
```

In multi-wallet environment a wallet database file reference (`wallet.dat`) without a wallet name (e.g., `test_alpha`) could be confusing.
LOCK(cs_db);
            if (!env->mapFileUseCount.count(strFile) || env->mapFileUseCount[strFile] == 0)
            {
                
                env->CloseDb(strFile);
                env->CheckpointLSN(strFile);
                env->mapFileUseCount.erase(strFile);
                
                fs::path pathSrc = env->Directory() / strFile;
                fs::path pathDest(strDest);
                if (fs::is_directory(pathDest))
                    pathDest /= strFile;
                try {
                    if (fs::equivalent(pathSrc, pathDest)) {
                        LogPrintf("cannot backup to wallet source file %s\n", pathDest.string());
                        return false;
                    }
                    fs::copy_file(pathSrc, pathDest, fs::copy_option::overwrite_if_exists);
                    LogPrintf("copied %s to %s\n", strFile, pathDest.string());
                    return true;
                } catch (const fs::filesystem_error& e) {
                    LogPrintf("error copying %s to %s - %s\n", strFile, pathDest.string(), fsbridge::get_filesystem_error_message(e));
                    return false;
                }
            }
        }
        MilliSleep(100);
    }
}
void BerkeleyDatabase::Flush(bool shutdown)