Comments (3)
A quick warning about this, because it isn't totally accurate.
There are two issues :
-
MySQL indeed supports UUID, but not as a data type, contrary to MariaDB.
So moving from varchar to uuid is only possible with MariaDB. -
Even though a Prisma string field apparently works with a MariaDB UUID column,
Prisma doesn't offer@db.Uuid
attribute with it.
It doesn't look good having a difference between schema and actual database,
and this could lead to some issues, SQL may be incorrectly generated by Prisma, which should be manually tweaked.
varchar isn't probably the ideal solution, but I don't think there's an easy alternative at the moment.
from umami.
Unfortunately we only support 1 schema file per database. It is possible to detect the db version before the build-db
step and target a different schema file / migration folder, but it will add more maintenance and support on our side. Ideally we just cut-off support for older MySQL / MariaDB versions, update the schema off of VARCHAR(36) and move forward.
from umami.
Agree, just moving forward and require proper versions of MySQL/MariaDB that support the UUID data type seems OK to me too.
I don't have very high traffic sites right now and the degradation using VARCHAR(36) was noticeable to the point we observed timeouts (i.e. when deleting a site or just asking for data), so I gave a try and manually converting to UUID all of the column IDs and references really worked like a charm.
Anyway I understand this could require some testing for the initial structure and migrations. I can try help with MariaDB and MySQL, drop me a message and I can try to help / test.
from umami.
Related Issues (20)
- Umami Cloud signup page 'See docs' link is broken HOT 1
- Issue with Incorrect Encoding of City Names from Cloudflare Headers
- POST to send API returns 405 HOT 3
- Documentation should clarify the definition of "bounce" HOT 3
- Metrics Api defaults to LIMIT 500 HOT 1
- Show number of events in dashboard overview HOT 1
- Unable to Run Umami using Podman\Quadlet - Error: getaddrinfo ENOTFOUND Umami HOT 1
- Send CORS header with non-200 HTTP statuses too HOT 3
- Event data not filtering or displaying properly HOT 5
- Building via docker-compose stuck on "Browserslist: caniuse-lite is outdated." HOT 2
- [Feature] IP version statistics
- data-auto-track is being ignored HOT 1
- How to write a Workflow for automatic synchronization of forks? HOT 1
- How to configure "API Routes Response Size" HOT 2
- ref icon support server cache, not duckduck go icon
- [Feature] "Average visit time" and "Bounce rate" on API stats HOT 1
- Overview detail information shows 'Something went wrong' when trying to display data (partially) before the first date of usage HOT 1
- It takes a while for umami to correctly identify a visitor's geolocation HOT 2
- Enhancing README.md for Better Usability and Accessibility HOT 3
- Default date in empty HOT 1
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 umami.