Commit Graph

64 Commits

Author SHA1 Message Date
Alex Snast
4c1f28d58f ent/schema: allow setting collation for string fields
Reviewed By: a8m

Differential Revision: D17090481

fbshipit-source-id: a08768c9bac4318a91bc6a067c85d6eb022c3024
2019-08-28 04:52:32 -07:00
Ariel Mashraki
9207ab5bb1 entc/integration: fix broken test
Reviewed By: alexsn

Differential Revision: D17090600

fbshipit-source-id: 53edd9bfdc794a2fc1669fb0ccde36ee6bdad0c1
2019-08-28 02:15:18 -07:00
Alex Snast
373769dfaf ent/gen: adding EqualFold predicate for string fields
Summary: Similar to `ContainsFold` predicate requires `--storage=sql` argument to be passed to entc.

Reviewed By: a8m

Differential Revision: D17074805

fbshipit-source-id: ced299154417fe2c9007cd6a7a504f53c8b2ef98
2019-08-27 10:48:53 -07:00
Ariel Mashraki
62772e0c85 entc/gen: fix broken ut
Reviewed By: alexsn

Differential Revision: D17073367

fbshipit-source-id: 03b36366c6dbd3fa0a0a5ca98bca907945063081
2019-08-27 09:38:52 -07:00
Ariel Mashraki
772b8a33f8 ent/field: add update_default option time field
Reviewed By: alexsn

Differential Revision: D17070907

fbshipit-source-id: 63c9ce75c58e524044c38f9461cb04e8e45c8017
2019-08-27 06:54:49 -07:00
Ariel Mashraki
bd07c86b60 all: add license header to all go files
Summary:
Used addlicense to generate this:
 addlicense -c "Facebook Inc" -f license_header .

example was taken from: https://github.com/facebook/litho/blob/master/lib/soloader/BUCK

Reviewed By: alexsn

Differential Revision: D17070152

fbshipit-source-id: e7b91398d7f6181727be3400c1872ad5f28e38ed
2019-08-27 04:48:28 -07:00
Ariel Mashraki
3e7270e835 ent/schema: change ent interafces for descriptor only
Summary: wip

Reviewed By: alexsn

Differential Revision: D17052576

fbshipit-source-id: 165faca2ff02c22bb76f164d81d406ce46ab04c4
2019-08-27 03:58:25 -07:00
Ariel Mashraki
4c3951d53b ent/doc: m2m relation example
Reviewed By: alexsn

Differential Revision: D17050405

fbshipit-source-id: 85c41c92b15979b7aac8a6278a480cd593272f8a
2019-08-26 05:13:39 -07:00
Ariel Mashraki
1248026f43 ent/doc: add recursive o2o relation
Reviewed By: alexsn

Differential Revision: D17046402

fbshipit-source-id: 0796e289816aed9755af94be05c572efbe85d49d
2019-08-25 07:58:13 -07:00
Ariel Mashraki
52292557f6 entc/indexes: inverse only restriction applies only on O2O relation
Reviewed By: alexsn

Differential Revision: D17004823

fbshipit-source-id: 08b62960b447a157419dbeefd80ca1fcd29efd76
2019-08-25 06:41:14 -07:00
Ariel Mashraki
84c1b93e4e entc/gen: block circular deps between edges
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/25

Reviewed By: alexsn

Differential Revision: D16962429

fbshipit-source-id: 590adc530bc5c122153a55187d557714c42dff32
2019-08-22 07:41:30 -07:00
Alex Snast
e6a1333b9d ent/schema: allow multi from edges on ent index
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/24

Reviewed By: a8m

Differential Revision: D16961315

fbshipit-source-id: cd7cd0fe2555dc1acc2ad7301d92b5b4cd042a39
2019-08-22 07:00:29 -07:00
Ariel Mashraki
3bd8c27cb9 entc/predicate: add containsfold sql dialects (#23)
Summary:
Pull Request resolved: https://github.com/facebookincubator/ent/pull/23

Pull Request resolved: https://github.com/facebookincubator/ent/pull/22

Reviewed By: alexsn

Differential Revision: D16961334

fbshipit-source-id: 759737dd716efca01b1089715907e92fa2b4c8c7
2019-08-22 06:23:31 -07:00
Ariel Mashraki
f519a5465e schema/field: add builder per numeric type
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/21

Reviewed By: alexsn

Differential Revision: D16936906

fbshipit-source-id: 06f5721ed0088107cf42382731f8b7282f22eef7
2019-08-21 08:00:01 -07:00
Ariel Mashraki
eb3f140e67 entc/integration: add test for bool predicates
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/19

Reviewed By: alexsn

Differential Revision: D16917224

fbshipit-source-id: 6f4c388f504c61e5e25e3ca4a4b29a3d2736ab62
2019-08-20 08:13:40 -07:00
Ariel Mashraki
c85b001b88 ent/gen: return an error on field redeclared
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/17

Reviewed By: alexsn

Differential Revision: D16914462

fbshipit-source-id: de0284d8737e3b815fbd0799940fd5c272ed4690
2019-08-20 06:44:05 -07:00
Ariel Mashraki
c8c01f7398 ent/cmd: add target option for init command
Reviewed By: elys1um

Differential Revision: D16914253

fbshipit-source-id: df2b87d2741c96c374526c0a2d4171bd68d1e4f4
2019-08-20 06:31:22 -07:00
Ariel Mashraki
24d03df613 ent/ci: install goimports before running tests
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/16

Reviewed By: alexsn

Differential Revision: D16914392

fbshipit-source-id: 7f0fc01fb760b0712341810796d6539f549a9b5f
2019-08-20 06:07:08 -07:00
Alex Snast
85b29631a8 entc/schema: adding support for immutable fields (#1340)
Summary:
Pull Request resolved: https://github.com/facebookexternal/fbc/pull/1340

Immutable fields are ent fields which cannot be updated

Reviewed By: a8m

Differential Revision: D16899625

fbshipit-source-id: ca482c66570e84ca9a1e0a03f729847561f2816b
2019-08-20 02:17:13 -07:00
Ariel Mashraki
e0e754717e ent: change ent package name (#1338)
Summary:
Pull Request resolved: https://github.com/facebookexternal/fbc/pull/1338

Pull Request resolved: https://github.com/facebookincubator/ent/pull/14

Reviewed By: alexsn

Differential Revision: D16890825

fbshipit-source-id: 656baaa73f5debab08c849b6b9639caeec2a8ef1
2019-08-19 09:32:14 -07:00
Alex Snast
a209a8395e schema/field: Allow .Unique() definition on int / float fields
Reviewed By: a8m

Differential Revision: D16891088

fbshipit-source-id: b3d8375685b6d1957f678c2f9eb40e172891b255
2019-08-19 06:35:26 -07:00
Ariel Mashraki
7438104b5d entc/sql/decode: use null types for fields scanning
Reviewed By: alexsn

Differential Revision: D16890638

fbshipit-source-id: bfe3699831875a559d322a500ffc20a976f30a44
2019-08-19 05:02:37 -07:00
Ariel Mashraki
079ba191e3 ent/field: add default value for time
Reviewed By: alexsn

Differential Revision: D16890453

fbshipit-source-id: 362ae9e9666c523bdcce16503441565b6279ff08
2019-08-19 04:21:25 -07:00
Ariel Mashraki
ba950aac52 entc/load: add support for embedding schemas
Reviewed By: alexsn

Differential Revision: D16884402

fbshipit-source-id: 216bbf875251b0cbdd61e312ad763b439cab7813
2019-08-18 04:30:14 -07:00
Ariel Mashraki
ec302a47e2 entc/gen: unique field can not have default value
Reviewed By: alexsn

Differential Revision: D16827420

fbshipit-source-id: 9a9896980203ba1ca2c53412071423847d18d8cb
2019-08-15 04:42:03 -07:00
Ariel Mashraki
c16d3c8e25 ent/schema: explicitly defines non-null fields in schema
Reviewed By: alexsn

Differential Revision: D16791620

fbshipit-source-id: bad3ac7b2349d2f483c804eb3623c6dfa8b06313
2019-08-15 03:37:17 -07:00
Ariel Mashraki
4ac1b595bf ent/schema: fix indexes in mysql versions <= 5.6
Summary: move property type uniqueness enforment to ent schema

Reviewed By: alexsn

Differential Revision: D16767355

fbshipit-source-id: db6ba4853a8816fd5f6299a34c0b780028d75da1
2019-08-13 07:41:23 -07:00
Ariel Mashraki
74ce5b36f2 ent/load: safely marshaling schema
Summary: more descriptive output on marshaling failures.

Reviewed By: alexsn

Differential Revision: D16782294

fbshipit-source-id: 4ac3fbb3ef152d59bada257a9f0d8ccde5e95ae9
2019-08-13 03:06:08 -07:00
Alex Snast
c0deedcf48 set default mysql table collation to utf8mb4_bin (#1295)
Summary:
Pull Request resolved: https://github.com/facebookexternal/fbc/pull/1295

Pull Request resolved: https://github.com/facebookincubator/ent/pull/13

See [Case Sensitivity in String Searches](https://dev.mysql.com/doc/refman/5.7/en/case-sensitivity.html)

Reviewed By: a8m

Differential Revision: D16782072

fbshipit-source-id: f2a836e580757f0e956a444c3fdf93c502723098
2019-08-13 02:12:58 -07:00
Ariel Mashraki
108affa8dd ent/schema: move schema packages into a separate package
Reviewed By: alexsn

Differential Revision: D16763332

fbshipit-source-id: e3e4279c62992de192464c3d3b1036c45687507c
2019-08-12 07:53:03 -07:00
Ariel Mashraki
230e764b77 ent/entc: add test for index creation
Reviewed By: idoshveki

Differential Revision: D16762873

fbshipit-source-id: 3e656a0979c6d61e542ad5f4bc5a951089c5c0c0
2019-08-12 07:13:20 -07:00
Ariel Mashraki
2128fc2ca1 ent/index: add indexes api
Reviewed By: alexsn

Differential Revision: D16757699

fbshipit-source-id: 6a0027b1f855721f1415b8c72b5b1be8bc2ce902
2019-08-12 06:44:40 -07:00
Ariel Mashraki
f2411742ae ent/field: force optional on nillable field
Reviewed By: alexsn

Differential Revision: D16757719

fbshipit-source-id: 813e10b8b4b1744e7ab68f4513722f66911cdef3
2019-08-11 08:44:39 -07:00
Alex Snast
71725de3d7 implement graph database migrate command
Summary: Pull Request resolved: https://github.com/facebookexternal/fbc/pull/1281

Reviewed By: a8m

Differential Revision: D16757606

fbshipit-source-id: 89ad3cdf7b9a7c9931ac8e2b20f127a1cc125d62
2019-08-11 08:32:44 -07:00
Ariel Mashraki
329b5ddf77 ent/sql/migrate: support indexes
Reviewed By: alexsn

Differential Revision: D16711184

fbshipit-source-id: 632b02c5c77c6289b242263647d45d9f28752e3f
2019-08-11 05:47:18 -07:00
Ariel Mashraki
7c84a20f2e ent/client: follow up for D16667212
Reviewed By: alexsn

Differential Revision: D16692962

fbshipit-source-id: 2502b74bf57ae63577fd3232303fc5f51de6d0fb
2019-08-07 12:10:33 -07:00
Ariel Mashraki
619b63d5f7 ent/schema: rename nullable to nillable
Reviewed By: idoshveki

Differential Revision: D16687892

fbshipit-source-id: e8cfaaf1241e94c2de0a9fe9077326339d593716
2019-08-07 06:56:33 -07:00
Ariel Mashraki
25f5a2ef01 entc/predicate: add isnull/notnull predicates for codegen
Reviewed By: idoshveki

Differential Revision: D16687226

fbshipit-source-id: 14a39e066447dbf77413e5c7f7318a2d61bddd32
2019-08-07 06:56:32 -07:00
Ariel Mashraki
23059c8bae graph/ent: re-generate ent assets
Reviewed By: alexsn

Differential Revision: D16686149

fbshipit-source-id: f62ee0da4204460a59e6356d92faea774e796bf3
2019-08-07 04:08:28 -07:00
Ariel Mashraki
2fd1b728f3 ent: add AND operator for type predicates
Reviewed By: alexsn

Differential Revision: D16668249

fbshipit-source-id: 1554c3af9779fd551a90218c604d23b5bf8b8c6b
2019-08-06 14:41:56 -07:00
Alex Snast
dfadb3e27b entc: drop switch statements on single storage (#12)
Summary:
Pull Request resolved: https://github.com/facebookincubator/ent/pull/12

Pull Request resolved: https://github.com/facebookexternal/fbc/pull/1256

Reviewed By: a8m

Differential Revision: D16667212

fbshipit-source-id: e9f8a51986de5fe97356285e23946a61578d8164
2019-08-06 07:52:21 -07:00
Ariel Mashraki
cef32f1fb4 entc: add option to override codegen header
Summary:
Set the standard header ("Code generated by entc, DO NOT EDIT.") as default, and override it using option in graph.

No changes to graph except the `generate.go` file.

Reviewed By: idoshveki

Differential Revision: D16642348

fbshipit-source-id: d9fd1d2046e2fd96acbb100ef061fda75d99ce52
2019-08-04 05:12:33 -07:00
Ariel Mashraki
c5259c8528 entc: add relevant example-code for bytes field
Reviewed By: alexsn

Differential Revision: D16639870

fbshipit-source-id: 948cb0256fc8691a6c2194ee31db984d6ac1aede
2019-08-04 04:22:36 -07:00
Ariel Mashraki
66ea49049a entc: report informative message when goimports is not in PATH
Summary: Learning from the remote troubleshoot session I had with Murtadha on Friday - this could save me and him a lot fo time.

Reviewed By: alexsn

Differential Revision: D16639856

fbshipit-source-id: dc2a6b693b617fcd8061757987a6db95af4be2b6
2019-08-04 04:05:06 -07:00
Ariel Mashraki
2cc8286f5f entc: add idtype option codegen
Reviewed By: alexsn

Differential Revision: D16601757

fbshipit-source-id: 35d5fbfb4ef40bae192e084ad4e067880175e71c
2019-08-04 03:13:01 -07:00
Ariel Mashraki
c203f043cf ent: add blob tyoe
Reviewed By: idoshveki

Differential Revision: D16600425

fbshipit-source-id: 04c6fe39f9b3b628a1e79eb3063188f582d9e504
2019-08-01 07:45:05 -07:00
Ariel Mashraki
2d962d5cba ent/entc: add nillable setter for nullable fields
Reviewed By: idoshveki

Differential Revision: D16599899

fbshipit-source-id: bcab65e09645409f8a822e2eebda1aac0f804c7c
2019-08-01 06:57:19 -07:00
Ariel Mashraki
2c8b5a65b7 entc: abandon plugins
Summary:
Go plugin is not a good solution for both internal and external usage.
It's hard to manage and maintain matching versions (both Go and external libraries), and it does not support Windows.

Reviewed By: alexsn

Differential Revision: D16582217

fbshipit-source-id: 81876d2c6f30bbfc16ecf9e5000f0670f2e62484
2019-08-01 05:07:48 -07:00
Ariel Mashraki
8cb2428ea3 ent: fix lint errors
Reviewed By: idoshveki

Differential Revision: D16560151

fbshipit-source-id: 703f6e28403b14fc667fa7c592f0f3827a9335a6
2019-07-30 05:31:33 -07:00
Ariel Mashraki
56656dfcb6 ent/entc: configure storage driver in codegen
Summary: Pull Request resolved: https://github.com/facebookexternal/fbc/pull/1229

Reviewed By: alexsn

Differential Revision: D16539934

fbshipit-source-id: b3a8bf1f1be6f65ad3f649cd921ea20fc24182bf
2019-07-30 02:49:22 -07:00