Commit Graph

762 Commits

Author SHA1 Message Date
Ariel Mashraki
2c1a3555cc entc/gen: ignore edge-fields order in edge-schema with composite identifiers (#2719)
This PR allows defining edge schemas with any order of their edges
but still enforce the ordering of the fields in the ID annotation
2022-07-05 15:45:28 +03:00
Ariel Mashraki
8c55008a9d dialect/sql/sqlgraph: handle edge schema in batch inserts (#2718) 2022-07-05 14:15:31 +03:00
Jannik Clausen
5b67bdab4f dialect/sql/schema: atlas engine is now default (#2698)
* atlas engine is default, enabled diff by replay

* Apply suggestions from code review

* docs

* apply CR
2022-07-05 12:29:15 +02:00
Reiji Tokuda
91b643091f entc/gen: support setting GoType for integer IDs (#2657)
* Fix problem when model maps integer id to a GoType

* Update generated files

* apply suggestions from code review

* Update generated files

* Update generated files after merge from master

* Cleanup test code in integration

Co-authored-by: Ariel Mashraki <7413593+a8m@users.noreply.github.com>

* Modify integration test IntSID.

Wrapped tests of IntSID for avoid conflicts.

* Modify tests in integrations

Order of tests was changed. As a result, if-statement for difference in RDB is deleted.

+ force pushing same commit to invoke ci.

Co-authored-by: Ariel Mashraki <7413593+a8m@users.noreply.github.com>
2022-07-04 08:50:51 +03:00
Ariel Mashraki
ed783dba70 dialect/sql/sqlgraph: support edge-schema in upsert (#2714) 2022-07-03 23:29:35 +03:00
Giau. Tran Minh
4f7b1739cd entc: cleanup defaults ID (#2709) 2022-07-01 23:30:18 +03:00
Ariel Mashraki
904b649120 entc/gen: skip nodes with composite id types on default id-type detection (#2708)
Was reported on Discord
2022-07-01 23:08:45 +03:00
Ariel Mashraki
4a26cab734 improve multi-tenancy example and documentation (#2705)
* example/privacytenant: support edge-field and improve code examples

* md/privacy: improve multi-tenancy documentation
2022-06-30 19:57:56 +03:00
Ariel Mashraki
6793d74da7 schema/field: support for sensitive json fields (#2701)
Closed https://github.com/ent/ent/issues/2596
2022-06-29 11:27:10 +03:00
Ariel Mashraki
7cac3b2ed5 entc/gen: support default id values for edge schemas (#2688) 2022-06-25 20:23:43 +03:00
Ariel Mashraki
6ddeb93649 entc/gen: use gotypw pkgname as alias in case it does not match pkgpath (#2686) 2022-06-25 11:05:15 +03:00
Ariel Mashraki
311d760679 entc/gen: allow opening and testing concurrent enttest clients (#2665) 2022-06-20 08:32:30 +03:00
Ariel Mashraki
abefaa7f24 entc/gen: catch constraint failures in delete operations (#2664) 2022-06-19 14:34:32 +03:00
Ariel Mashraki
98d00a35b5 go: update atlas and test global-unique-id migration (#2661) 2022-06-18 21:50:44 +03:00
Jannik Clausen
7017cbc898 dialect/sql/schema: file based type store (#2644)
* 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
2022-06-15 16:10:15 +02:00
Giau. Tran Minh
195be2d98d entc/gen: fixed unnamed field initialization (#2648)
* entc/gen: fixed ConstraintError fields name

* fix: run go generate

* entc/gen: fixed Filter fields name

* fix: run go generate again for entql
2022-06-14 12:32:46 +03:00
Will Bicks
cd1afb235c entc: improve generated comments for edges and fields (#2632)
* replace default field comment with user comment if defined
* use comments defined on edges in generated entities
* add docs for comment method on edges and fields
* update integration to reflect above changes
2022-06-13 15:52:47 +03:00
Jannik Clausen
bfa9c963cb dialect/sql/schema: introduce type store interface (#2636)
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.
2022-06-10 10:08:33 +02:00
hax10
e6152856b1 entc/gen: fix name clash in entc template when entity name has initials as tx (#2633) 2022-06-09 20:39:46 +03:00
Ariel Mashraki
fd955654a0 entc/gen: change codegen signature from entc to ent (#2627) 2022-06-07 17:48:17 +03:00
Ariel Mashraki
e634960221 entc/gen: move a8m/entclean logic to ent (#2612) 2022-06-05 14:31:45 +03:00
Ariel Mashraki
c26d92d39e entc/gen: support indexing edge schema with composite primary keys (#2578) 2022-05-30 17:20:27 +03:00
Ariel Mashraki
5b81d7d832 dialect/sql/sqlgraph: better support for update nodes with predicates (#2574) 2022-05-29 16:23:52 +03:00
Giau. Tran Minh
0917701f91 entc/gen: fix wrong UserDefined checks in templates (#2572) 2022-05-28 12:12:57 +03:00
Ariel Mashraki
5800f6b578 entc/gen: avoid setting the incremental attribute fo non-integer fields (#2571) 2022-05-27 23:54:41 +03:00
Ariel Mashraki
e1c5277483 ent: initial support for edge schemas (#2560) 2022-05-25 15:46:00 +03:00
Ariel Mashraki
f2e0bef7a8 entc/gen: add conditional-write option to external templates (#2542) 2022-05-12 07:36:15 +03:00
Pedro Henrique
4d1c0af20d entc/integration: add examples for sub-queries + minor fixed for selector builder (#2509)
* 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>
2022-05-05 22:46:13 +03:00
Justin Johnson
38d4d5fb5c entc/gen: propagate nodes post-save mutations (#2525)
* Failing test

* Fix propagating entirely models from OpCreate hook

* Apply suggestions from code review

Co-authored-by: Ariel Mashraki <7413593+a8m@users.noreply.github.com>

* whitespace

* Failing test for updateone

* fix for updateone

* Regnerate

* regen from root

Co-authored-by: Ariel Mashraki <7413593+a8m@users.noreply.github.com>
2022-05-05 11:19:21 +03:00
MasseElch
51f293fc54 entc/gen/template/sql/feature: add comment to feature field on config… (#2515)
* entc/gen/template/sql/feature: add comment to feature field on config and remove blank line

* all: go generate
2022-05-02 14:29:53 +03:00
Ariel Mashraki
dab95be855 doc/md: example and test for migration apply hooks (#2514) 2022-05-02 14:25:22 +03:00
MasseElch
e50d335c30 dialect/sql: support string based pk for mysql56 indexes (prevent err… (#2506)
* dialect/sql: support string based pk for mysql56 indexes (prevent error 1071)

* Update entc/integration/customid/ent/schema/revision.go

Co-authored-by: Ariel Mashraki <7413593+a8m@users.noreply.github.com>

Co-authored-by: Ariel Mashraki <7413593+a8m@users.noreply.github.com>
2022-04-29 08:57:22 +02:00
MasseElch
4e434b2b73 gen/template: allow overriding of client struct and initialization (#2503) 2022-04-28 09:07:44 +02:00
Ariel Mashraki
879bb8a905 entc/integration/json: add example for using interfaces in JSON fields (#2497) 2022-04-25 13:34:05 +03:00
Ariel Mashraki
04e0dc936b entc/integration/migrate: add example for renaming columns (#2496) 2022-04-24 22:36:33 +03:00
MasseElch
2c8e58ce94 entc/gen: skip Table() predicate and warn about reserved schema name (Client) (#2486)
* entc/gen: do no generate `Table()` predicate and warn the user in case of reserved schema name like `Client`.

* doc/md: document reserved schema name

* doc/md: revert reserved schema name as this was already working

* doc/md: rephrase
2022-04-20 16:30:59 +02:00
Ariel Mashraki
4cf6dd75ec entc/gen: expose config on generated filters (#2473) 2022-04-14 20:00:52 +03:00
MasseElch
c1175719a2 dialect/sql/schema: option to enable atlas sum file (#2470)
* dialect/sql/schema: option to enable atlas checksum file

* entc/integration/migrate: add integration tests for versioned migrations

* entc/integration/migrate: apply CR
2022-04-13 21:36:57 +02:00
Ariel Mashraki
6e4e4da896 entc/integration/migrate: update atlas and test custom time precision (#2462) 2022-04-08 11:27:30 +03:00
Ariel Mashraki
d92984f744 doc/website: add sql/execquery feature-flag to document (#2453) 2022-04-06 14:10:33 +03:00
Ariel Mashraki
89c339209e entc/gen: add the sql/execquery feature flag (#2447) 2022-04-06 13:34:22 +03:00
Ariel Mashraki
05246cbd26 gen/entc/template: add option to process nodes after query using external templates (#2444) 2022-04-02 22:01:28 +03:00
Giau. Tran Minh
196875c761 entc/gen: block Optional on ID fields (#2443)
* entc/gen: block Optional on the ID field

* chore: restore the old error message

* Update entc/gen/type.go

Co-authored-by: Ariel Mashraki <7413593+a8m@users.noreply.github.com>

Co-authored-by: Ariel Mashraki <7413593+a8m@users.noreply.github.com>
2022-04-02 21:01:38 +03:00
Ariel Mashraki
345d3d1783 dialect/sql: support for order by expressions in window functions (#2442) 2022-04-01 21:31:00 +03:00
Ariel Mashraki
48bb70f056 entc/gen: allow adding extra fields to the generated edges (#2437) 2022-03-29 14:54:16 +03:00
Ariel Mashraki
317594ec80 dialect/sql/schema: prefix sqlite unique indexes with table name (#2433)
Fixed https://github.com/ent/ent/issues/2421
2022-03-28 12:54:39 +03:00
Ariel Mashraki
92ff734815 dialect/sql: add support for window functions (#2431) 2022-03-27 20:53:36 +03:00
Ariel Mashraki
6c30ca7d4f dialect/sql/schema: skip creating unique key for primary keys (#2425) 2022-03-24 18:53:36 +02:00
Ariel Mashraki
c00b4ecb0f entc/integration/custom_id: update atlas and fix issue in integration tests (#2424) 2022-03-24 17:55:55 +02:00
Ariel Mashraki
edd968490e entc/gen: use join for loading m2m relationship (#2417)
* entc/gen: use join for m2m relationship

* entc/gen: add test for eager-load inverse-m2m
2022-03-21 11:37:54 +02:00