Replies: 1 comment 3 replies
-
I talked with the team about this. You might consider using DDL directly instead of using migrations to make it faster and to help with the concurrency problem. Be prepared to handle concurrency errors with the DDL approach. This solution should be faster than running migrations and reasonably robust for concurrency. We're taking an action to investigate if the error raised with concurrent DDL is retryable. |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
We're building something like a Headless CMS tool, and are considering EdgeDB.
The typical Headless CMS allows each tenant (in a multitenant setup) to flesh out their own schema (classes with properties and constraints).
In the ideal case, we could have a single instance of EdgeDB running and allow multiple editors of the schema. For example the users Anna and John might add organization-specific classes that inherit from similar abstract classes that we have configured. This would be really convenient as we could define abstractions that all users could benefit from.
But given that EdgeDB schema changes result in migrations (that take more than milliseconds to apply?), it doesn't seem feasible to cater to this scenario ...?
For example, take the scenario where there are 10 000 classes already defined in the database and a tenant (one of many) wants to change a single property of a class. If multiple tenants are working in the system, my concern is that it's too slow to give instant feedback, and it might also not handle concurrent edits very well?
I guess an option is to define something like a "class factory" (with a stable generic schema like
ClassFactory.properties
) that would allow users to create any type of class, but it kind of goes against the whole idea of EdgeDB where the specificity of the schema guarantees type safety, elegant introspection and more.Questions:
Thank you!
Beta Was this translation helpful? Give feedback.
All reactions