Comments (15)
Here is the log from Docker
openbudgeteer.csv
from openbudgeteer.
So in the logs I can only see the issue from #219. I think you also followed the Breaking changes notes from the Changelog before upgrading to 1.7 otherwise you couldn't see your Buckets.
Would be great if you could spin up a new container with a cleansed log and just open the Transaction Page. With above error message there should be something in the logs
from openbudgeteer.
Hello,
Happy to spin up an new container, but before I do, I'm not sure i did whatever was needed prior to upgrading. When I look at the ChangeLog, I see two breaking changes going to 1.7; the first about database name (no idea where to see the offending characters) and the second about database path. I did not set the database path to anything, I believe it is defaulting to the "database" directly. I did not see anything dealing with Buckets, so maybe there is something else I needed to do?
from openbudgeteer.
So if you always used the defaults then after the upgrade the database container path should be still /app/database/openbudgeteer.db
After you started a new container, just go to the Transaction Page and share the logs
from openbudgeteer.
I started a new container, with the v1.6.3 database already in the database location. Same symptoms when it started. There are no log entries created when i go to the Transaction Page. I looked at the log before and after going to the Transaction page and it did not change:
warn: Microsoft.AspNetCore.DataProtection.Repositories.FileSystemXmlRepository[60]
Storing keys in a directory '/root/.aspnet/DataProtection-Keys' that may not be persisted outside of the container. Protected data will be unavailable when container is destroyed.
warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35]
No XML encryptor configured. Key {8fcbce85-75a7-4cfa-9125-63d78faa886d} may be persisted to storage in unencrypted form.
info: Microsoft.Hosting.Lifetime[14]
Now listening on: http://[::]:80
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
Content root path: /app
warn: Microsoft.AspNetCore.HttpsPolicy.HttpsRedirectionMiddleware[3]
Failed to determine the https port for redirect.
I also tried to enter a garbage transaction. That created the following error popup:
"Errors during database update: An error occurred while saving the entity changes. See the inner exception for details."
But again, there was no entry in the log as a result.
Also, I thought Buckets came over correctly, but they did not. There used to be hierarchy to our buckets and now there is none when on version 1.7.1.
If it would be helpful, I'd be happy to securely share our database with you.
Mike
from openbudgeteer.
That would be great. Feel free to send it to me via my account mail address ([email protected])
from openbudgeteer.
Thank you, sent.
from openbudgeteer.
Sorry for the late response as I was quite busy last days.
So far I can reproduce the issue on my side. On a first glance I would say the underlying database migration is working fine (which is the most important thing).
But on several places in the coding the queries doesn't return any values. If I execute these queries manually, e.g. in Sqlite DB Browser, I get the expected results (which is also good).
I need to spend some time in investigating that. My initial feeling is that for some reason EF Core and its Sqlite package has some hiccups with the Sqlite Date handling For some reason the Sqlite provider of EF Core is not able to properly compare GUID
from openbudgeteer.
I have a first basic fix implemented locally, which I need to test more extensively also in regard to side effects with MySQL and PostgreSQL. My plan right now is to release this as part of the regular 1.8 update
from openbudgeteer.
from openbudgeteer.
Reopen due to failing Unit Tests
from openbudgeteer.
Related to dotnet/efcore#19651, could be solved using dotnet/efcore#25043 (comment)
from openbudgeteer.
For transparency I'm sharing my result of this investigation.
So far I was not able to identify the final root cause of that issue. The randomly generated Guid from the database migration are looking good, using plain SQL I can join the various tables without any issue.
For some reason EF Core cannot read these converted Guid, only newly generated Guid provided by EF Core work properly. This is also the main reason why this issue did not pop up during Unit testing.
Using a solution mentioned in dotnet/efcore#25043 (comment) fixed the issue for the shared database that I received, but it's not compatible with other databases like MySql. Also Unit tests (which also use SQLite) were failing now, for whatever reason.
The workaround for SQLite that I have now implemented is, instead of generating random Guid during data migration, a hard-coded Guid format including the previous int-based IDs. Testing with the provided database were successfully.
I had some hard times with that issue and was already thinking about dropping SQLite support at all. I think with this solution I was able to prevent this and hope for the future that nothing similar is popping up again...
from openbudgeteer.
from openbudgeteer.
If you want to try it out already, you can use the docker tag pre-release
. There is one bug left that I have to work on and then the release of 1.8
should be ready
from openbudgeteer.
Related Issues (20)
- docker compose for latest release HOT 3
- Data Consistency in 1.7 freezes the page HOT 5
- Write Unit Tests for Report Page
- Fortnightly view or Time based buckets HOT 6
- Minor: Bucket Tab: "Expand All button" mis-spelled
- [pre-release] Unable to select Recurrence Type in Manage Recurring Transactions Dialog HOT 2
- [pre-release] Import Page: Changes in loaded file are not considered in further processing HOT 1
- Import Page: No word wrap in preview
- [pre-release] Fix all select elements using a ViewModel
- Fix typo "Comparison" for entity MappingRule
- Import Page: Potential Duplicate shows wrong Account
- Bucket Movements are shown with Account (Inactive)
- [1.8] Missing SQLite library in ASP.NET Alpine Docker image HOT 4
- Error message after creating new Bucket
- MySQL: Paramater MYSQL_ROOT_PASSWORD no longer works HOT 1
- Sqlite: Unable to open database file HOT 2
- Drop SQLite support
- Date of Bucket Movements always on the first of the month HOT 3
- Remove News on Home Page and replace it with usage of Github Discussions / Announcements
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openbudgeteer.