granite icon indicating copy to clipboard operation
granite copied to clipboard

More SQL/Querying examples needed, documentation enhancement request

Open vectorselector opened this issue 5 years ago • 1 comments

It appears that Granite does NOT use combined-key constraints in junction tables (many-to-many) It appears that Granite does NOT use or acknowledge foreign-keys at all! (given the SQL examples on https://github.com/amberframework/granite/blob/master/docs/relationships.md)

It's not immediately clear to me what Granite will be flexible on with regards to the results of the SQL it expects to see reflected in a database schema etc. What column types correspond to which Crystal types? (one reference place would be nice, src code line #'s are FINE) For example, a Crystal Time type corresponds to which acceptable database column types? (example: Postgresql timestamptz is ok? or?)

Since an ORM corresponds 1-to-1 with SQL via mapping, it's vital information for the user.

I will suggest some proper real-world SQL examples to save a person days of work only to discover that Granite doesn't like their tables... I would offer some but I'm just using this for the first time and my confusion is the reason for opening what hopefully is seen as a constructive criticism/issue.

Thank you for your coding efforts, I hope to be able to contribute one day...

vectorselector avatar Feb 05 '21 10:02 vectorselector

Improving the Granite docs:

  • Clarify which db column types map to which Crystal types
  • Clarify complex table relationships that are managed by Granite (many-to-many, etc.)

crimson-knight avatar Apr 25 '23 12:04 crimson-knight