mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-25 02:33:24 -03:00
wallet: Generated migrated wallet's path from walletdir and name
Co-Authored-By: Ryan Ofsky <ryan@ofsky.org>
This commit is contained in:
parent
cb40639bdf
commit
bdbe3fd76b
1 changed files with 5 additions and 2 deletions
|
@ -3843,16 +3843,19 @@ bool CWallet::MigrateToSQLite(bilingual_str& error)
|
|||
|
||||
// Close this database and delete the file
|
||||
fs::path db_path = fs::PathFromString(m_database->Filename());
|
||||
fs::path db_dir = db_path.parent_path();
|
||||
m_database->Close();
|
||||
fs::remove(db_path);
|
||||
|
||||
// Generate the path for the location of the migrated wallet
|
||||
// Wallets that are plain files rather than wallet directories will be migrated to be wallet directories.
|
||||
const fs::path wallet_path = fsbridge::AbsPathJoin(GetWalletDir(), fs::PathFromString(m_name));
|
||||
|
||||
// Make new DB
|
||||
DatabaseOptions opts;
|
||||
opts.require_create = true;
|
||||
opts.require_format = DatabaseFormat::SQLITE;
|
||||
DatabaseStatus db_status;
|
||||
std::unique_ptr<WalletDatabase> new_db = MakeDatabase(db_dir, opts, db_status, error);
|
||||
std::unique_ptr<WalletDatabase> new_db = MakeDatabase(wallet_path, opts, db_status, error);
|
||||
assert(new_db); // This is to prevent doing anything further with this wallet. The original file was deleted, but a backup exists.
|
||||
m_database.reset();
|
||||
m_database = std::move(new_db);
|
||||
|
|
Loading…
Add table
Reference in a new issue