-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ingest SQLDelight schemas #19
Comments
It seems like there is a I still haven't had the time to give it a try to see what the output looks like. |
- The `:floorplan-cli` module now depends directly on `:room-consumer`, but the goal is that eventually that becomes ['consumer-agnostic'](#19). - There is a new `:dbml` module that is home for the DBML representations in Kotlin. This means parsing from DBML (in case of `:dbml-parser`) or as output (in case of `:room-consumer`) will share the same modeling representation, allowing for proper mapping.
Ran into a few small open source projects using SQLDelight:
After a few changes to specify a |
I should add that the A more up to date one that also uses |
So, given SQLDelight exports the I have found a more complex sample SQLite Schema that can also be used for testing. |
SQLDelight is a popular multiplatform ORM that is able to expose its schemas via a Gradle task. On #19, we discuss the possibility of ingesting them to generate ER diagrams similarly to how we do for Android's Room. Interestingly, they export `.db` files, standard SQLite database definitions, that can be connected to and queried. Here, we rely heavily on the `PRAGMA` functions to introspect into the database schema and pull out the interesting properties to build our `DBML` memory model. This PR, then, wires up the new `SqliteConsumer` (with the help of a input file format sniffer heuristic) to allow not only for integration between FloorPlan and SQLDelight, but with every other ORM that can expose `.db` files (potentially even [iOS' CoreData](https://stackoverflow.com/a/15119886/12511149)).
After #40, we can ingest SQLite Will be released as part of |
Besides Room, another popular library used in the Android ecosystem is SQLDelight. If we can generate schemas (or parse the
.sq
files) to use as input for generating DBML, we can increase the applicability of FloorPlan.The text was updated successfully, but these errors were encountered: