android-money-manager-ex
android-money-manager-ex copied to clipboard
Create database destroys current database
A few facts
- Android Version 7.0
- Money Manager Ex Version 2019.02.24.1 (996)
Steps to reproduces
Please backup your database before trying this!
- Create database (
test.mmb
) - Create a new account (
Savings
) - Settings -> Database -> Create database (
test2.mmb
) - Open Databse -> Other -> choose
test.mmb
from file system Onlytest2.mmb
is shown,test.mmb
is not listed in the recent databse list. - "Welcome to MoneyManagerEx" is shown, the created
Savings
account does not exist anymore.
Did I do something wrong? Anything I can do to help to pinpoint the problem?
Thank you
Unfortunately I lost one month of my account data but still thank you for the work on this project!
The fact that the app does not know about your database file does not mean that it has been deleted. Did you check your file system?
No, the database file isn't deleted. And - as described in the STR - I have chosen the initial database file (test.mmb
) from the file system. So that is not the problem.
The problem is, that after choosing the initial database file (and only after creating a new database) the accounts are lost...
Can you confirm that hypothesis by opening the database with any SQLite tool? I'm wondering why would that be the case. It is possible that the new database gets saved with the current name, yes. This scenario is now left hanging after the latest file handling changes.
Sorry, it took quite a time to come back to this problem. Just had some time to reproduce the problem and checked the database on my computer:
This time I used data.mmb
as a database file. The content of data.mmb
looked like this before creating a new database:
% sqlite3 data.mmb
SQLite version 3.16.2 2017-01-06 16:32:41
Enter ".help" for usage hints.
sqlite> SELECT * FROM ACCOUNTLIST_V1;
1|Salary|Cash||Open||||||0|FALSE|2|||||||
And after creating a new database (foo.mmb
), data.mmb
looked like this:
% sqlite3 data.mmb
SQLite version 3.16.2 2017-01-06 16:32:41
Enter ".help" for usage hints.
sqlite> SELECT * FROM ACCOUNTLIST_V1;
sqlite> .tables
ACCOUNTLIST_V1 CUSTOMFIELD_V1
ASSETCLASS_STOCK_V1 INFOTABLE_V1
ASSETCLASS_V1 PAYEE_V1
ASSETS_V1 REPORT_V1
ATTACHMENT_V1 SETTING_V1
BILLSDEPOSITS_V1 SHAREINFO_V1
BUDGETSPLITTRANSACTIONS_V1 SPLITTRANSACTIONS_V1
BUDGETTABLE_V1 SPLITTRANSACTIONS_V2
BUDGETYEAR_V1 STOCKHISTORY_V1
CATEGORY_V1 STOCK_V1
CHECKINGACCOUNT_V1 SUBCATEGORY_V1
CURRENCYFORMATS_V1 TRANSLINK_V1
CURRENCYHISTORY_V1 USAGE_V1
CUSTOMFIELDDATA_V1 android_metadata
So yes, it seems that the currently used database file is re-initialized before the new one database is created.