* dialect/sql/schema: disable foreign keys before opening a transaction
* dialect/sql/schema: disable foreign keys before opening a transaction
* fix tests
* add test for bug
* apply CR
* dialect/sql/builder: make sql.NotIn() with empty args fallback to False()
This is basically the identical change to #2735, but for NotIn().
This bug currently prevents anyone using NotIn() from upgrading from v0.10.x to v0.11.x
* Update go.sum
untidy
* feedback
* dialect/sql/builder: make sql.In() with empty args fallback to False()
* fix indent
* added comment
* remove the equilvalent logic in the codegen side
* comment fix, run go generate
Also, added additional example where an edge schema has another edge
to a type that holds an information about the relationship.
The only reason this example exists is to allow users to reduce the storage
occupied by the join-table and allow connect (via M2O) multiple edge-schemas
to an 'information'/'description' node.
* Add docs on using ExprP() for custom WHERE sql statement
* Add ExprP() examples using integration test
* move custom predicate example and show examples using both P() and ExprP()
* fix to greater or equal than
* rephrase wording and fix sql builder
* Update doc/md/predicates.md
Co-authored-by: Ariel Mashraki <7413593+a8m@users.noreply.github.com>
* Update doc/md/predicates.md
* Update doc/md/predicates.md
* Update doc/md/predicates.md
* Update doc/md/predicates.md
Co-authored-by: Ariel Mashraki <7413593+a8m@users.noreply.github.com>
* dialect/sql/schema: file based type store
This PR adds support for a file based type storage when using versioned migrations. The file called `.ent_types` is written to the migration directory alongside the migration files and will be kept in sync for every migration file generation run.
In order to not break existing code, where the type storage might differ for different deployment, global unique ID mut be enabled by using a new option. This will also be raised as an error to the user when attempting to use versioned migrations and global unique ID.
Documentation will be added to this PR once feedback on the code is gathered.
* apply CR
* fix tests
* change format of types file to exclude it from atlas.sum file
* docs and drift test
* apply CR
This will allow us to store information about pk ranges allocated per type in a different location thant the database. This is useful for deterministic pk range computation for things like generating atlas.hcl out of the Ent schema.
* dialect/sql: move FROM to inside switch
* dialect/sql: adds simple example of subquery usage
* dialect/sql: adds a more complex example with join
* Apply suggestions from code review
Co-authored-by: Ariel Mashraki <7413593+a8m@users.noreply.github.com>
* dialect/sql: fix missing type and change modify to where
Co-authored-by: Ariel Mashraki <7413593+a8m@users.noreply.github.com>