Commit Graph

72 Commits

Author SHA1 Message Date
Ariel Mashraki
54b1a2ead9 sql/dialect/schema: accept old blob types in mysql (#164)
Summary:
Pull Request resolved: https://github.com/facebookincubator/ent/pull/164

support varbinary as blob types

Reviewed By: yhayun

Differential Revision: D18504189

fbshipit-source-id: e3c8fcf412d1f6374b0084b439eee426b24b3466
2019-11-14 06:37:17 -08:00
Ariel Mashraki
6ce4cb6803 all: fix minor lint errors
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/159

Reviewed By: dlvhdr

Differential Revision: D18476131

fbshipit-source-id: 9e792f5a35f25233aad73f75f12d13d215a21ad2
2019-11-13 06:01:41 -08:00
Ariel Mashraki
aece79f8a8 dialect/sql: add option for getting the neighbors of set of vertices (#157)
Summary:
Pull Request resolved: https://github.com/facebookincubator/ent/pull/157

It should be used by the query builders for stepping to neighbors of the matches.

Reviewed By: alexsn

Differential Revision: D18448517

fbshipit-source-id: bf3aeea8c90a4e9b090e9298a20600b8f0b5ace3
2019-11-12 10:37:23 -08:00
Ariel Mashraki
73e294a21e dialect/sql: reduce the number of joins on neighbors without predicates (#154)
Summary:
Pull Request resolved: https://github.com/facebookincubator/ent/pull/154

Loading the "form" table is not required where there's no predicate on the join.

Reviewed By: alexsn

Differential Revision: D18421062

fbshipit-source-id: cb2a045a5a8a76ea4f07e5cf4305a6da338a616e
2019-11-10 21:51:32 -08:00
Ariel Mashraki
0ff49fe89f dialect/sql: add neighbors test for O2O with 2 types
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/146

Reviewed By: idoshveki

Differential Revision: D18369884

fbshipit-source-id: 8cba47de27831d317dbe438ccff49b61132f6085
2019-11-07 02:42:35 -08:00
Ariel Mashraki
6eb14bba9f dialect/sql: add O2O tests for graph neighbors
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/145

Reviewed By: naor9991

Differential Revision: D18354409

fbshipit-source-id: 0327443cfb8cae6c2136cf6acc4057a17d0e3e0c
2019-11-06 23:54:31 -08:00
Ariel Mashraki
53cfcb6e8b dialect/sql: fix predicate builder on join
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/143

Reviewed By: idoshveki

Differential Revision: D18346652

fbshipit-source-id: e8c5d7eb3cefc16f52090de0d121e82cae058fc2
2019-11-06 05:21:26 -08:00
Ariel Mashraki
7a6d1ce9dc dialect/sql: add tests for graph neighbors function
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/141

Reviewed By: naor9991

Differential Revision: D18333780

fbshipit-source-id: 920f1c77182ee2a5cbd942d6c9cceec448b9900b
2019-11-05 22:50:16 -08:00
Ariel Mashraki
930a17b767 dialect/sql: add neighbors function (#140)
Summary:
Pull Request resolved: https://github.com/facebookincubator/ent/pull/140

This part of the effort of moving logic from Go templates to shared packages.
Next diffs will migrate the neighbors-set and predicates as well.

Dedicated tests for `sql/dialect/graph.go` will be added in a follow-up diff.

Reviewed By: alexsn

Differential Revision: D18304531

fbshipit-source-id: 93e9cf2636b5b4525eb27305bd2708122cfd6e40
2019-11-05 13:08:48 -08:00
Ariel Mashraki
c259aee24b entc/gen: generate sql builders with dialect option
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/130

Reviewed By: alexsn

Differential Revision: D18164397

fbshipit-source-id: 2858d69d3ff85c06b51382c01c3d4369ee2c3bdb
2019-10-27 21:53:50 -07:00
Ariel Mashraki
ea479ea527 dialect/sql/schema: move SQLite logic to its own file
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/129

Reviewed By: alexsn

Differential Revision: D18164329

fbshipit-source-id: 79abfc76389fcf7fe1b88f2dd6e69600ab7f3af2
2019-10-27 08:59:08 -07:00
Ariel Mashraki
23cbf325c0 dialect/sql/schema: move MySQL logic to its own file
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/128

Reviewed By: alexsn

Differential Revision: D18164283

fbshipit-source-id: da6b4d6df89ae4172d8f47a7790c4dac3a8ffe93
2019-10-27 08:59:08 -07:00
Ariel Mashraki
d5c111b35a dialect/sql/schema: univerdal id support for postgres
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/122

Reviewed By: alexsn

Differential Revision: D18113754

fbshipit-source-id: 1050f0c2b823db6ba1bc37c36f6749cfcffa982d
2019-10-24 08:45:09 -07:00
Ariel Mashraki
7f598f34a2 dialect/sql/schema: fix constraint symbol size for postgres
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/121

Reviewed By: alexsn

Differential Revision: D18113304

fbshipit-source-id: 80d4c65323eb2613fbb9ab47754b1e70b42b1b15
2019-10-24 08:45:09 -07:00
Ariel Mashraki
88bfbc38df dialect/sql/schema: index builders per dialect
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/118

Reviewed By: alexsn

Differential Revision: D18092371

fbshipit-source-id: 02b85724b1e00d10c930112b9e2c8d07c8727216
2019-10-24 02:23:33 -07:00
Ariel Mashraki
c414cd9a82 dialect/sql/schema: alter column for postgres
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/117

Reviewed By: alexsn

Differential Revision: D18083914

fbshipit-source-id: a5f6993cfe9a260a84c0d4ab868e3e797b3a5776
2019-10-23 05:39:17 -07:00
Ariel Mashraki
a0c7ee77dc dialect/sql/schema: default value format support for postgres
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/116

Reviewed By: alexsn

Differential Revision: D18083400

fbshipit-source-id: 5939aa2d1819d991ae74adc81c4ac60455bb7ed0
2019-10-23 05:39:16 -07:00
Ariel Mashraki
2789257849 dialect/sql/schema: alter table for postgres
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/115

Reviewed By: alexsn

Differential Revision: D18065988

fbshipit-source-id: a7d33bbebd63b01659bc5ba562ac85642dcd3d83
2019-10-22 12:55:36 -07:00
Ariel Mashraki
dff3067639 dialect/sql/schema: table creation tests for postgres
Reviewed By: alexsn

Differential Revision: D18059272

fbshipit-source-id: f93785378119dfa18be31fdfc969848ea6d9b782
2019-10-22 08:17:05 -07:00
Ariel Mashraki
8be31d18f9 dialect/sql/schema: add postgres table and column builders
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/114

Reviewed By: alexsn

Differential Revision: D18059082

fbshipit-source-id: fffec25143fa5f2a0ed2c79787abacefad724862
2019-10-22 08:17:05 -07:00
Ariel Mashraki
8e3a17550a sql/dialect/schema: add sqltype for postgres
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/108

Reviewed By: alexsn

Differential Revision: D18032062

fbshipit-source-id: 04a1d65bf4bd6bb78d79f1312ea09cce25cbb901
2019-10-20 08:30:13 -07:00
Ariel Mashraki
5f4a55ea1e sql/dialect/schema: load postgres table
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/107

Reviewed By: alexsn

Differential Revision: D18031837

fbshipit-source-id: 863f8db50a0547a7cb5e9ac560066fd6ee4e9c26
2019-10-20 05:20:16 -07:00
Ariel Mashraki
c3135d03a6 ent/dialect/sql/schema: set nullability of columns on scan
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/106

Reviewed By: alexsn

Differential Revision: D17987588

fbshipit-source-id: f5f985d28bdd7379826dca35111c61f1c169d5c0
2019-10-17 14:29:32 -07:00
Ariel Mashraki
0241a969b4 diaelct/sql/schema: postgres read columns
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/104

Reviewed By: alexsn

Differential Revision: D17980080

fbshipit-source-id: 341092a17798d008b91389263bf3bdc24b2571b2
2019-10-17 09:11:12 -07:00
Ariel Mashraki
2b6c8eada3 dialect/sql/schema: initial interface for postgres API
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/101

Reviewed By: alexsn

Differential Revision: D17977541

fbshipit-source-id: 118f935e11449661fd91f87b94dde2fb62c9b912
2019-10-17 05:50:49 -07:00
Ariel Mashraki
a6df15101f dialect/sql: fix bad query generation on clone
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/97

Reviewed By: alexsn

Differential Revision: D17931134

fbshipit-source-id: e181e253f6e29b757f5ca647195d87d7ac89a0c8
2019-10-15 13:38:39 -07:00
Ariel Mashraki
6f5f42ab3c dialect/sql: dialect based builders (#1550)
Summary:
Pull Request resolved: https://github.com/facebookexternal/fbc/pull/1550

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

This is still WIP and you should ignore this.

Reviewed By: alexsn

Differential Revision: D17854477

fbshipit-source-id: 2d19713c118adb31164b7a2781327e64c87db8d4
2019-10-13 07:03:11 -07:00
Alex Snast
ac50ea81d4 ent: address several lint errors throughout the project (#1534)
Summary:
Pull Request resolved: https://github.com/facebookexternal/fbc/pull/1534

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

lint errors detected by running `golangci-lint` tool.

Reviewed By: a8m

Differential Revision: D17784980

fbshipit-source-id: f7e8bd99fdf1e018d5672cea1e8d44b67f2a4201
2019-10-06 23:59:12 -07:00
Ariel Mashraki
1750d33bd8 all: add support for running examples in playground
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/49

Reviewed By: alexsn

Differential Revision: D17735758

fbshipit-source-id: d4b80631e56870690cc54912528c9950f4e48ccc
2019-10-03 03:05:40 -07:00
Ariel Mashraki
1ebfa489c5 ent: add support for enum types
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/45

Reviewed By: alexsn

Differential Revision: D17715085

fbshipit-source-id: 7472e1bd9cf7a8a5bd98f96e6e884c0e27f36803
2019-10-02 12:55:28 -07:00
Alex Snast
dacc568413 ent/entc: corrently reference default value on migrate generation
Summary:
Migration incorrectly generated field default value on storage key inclusion.

Example Field:
```
field.String("tenant").
  StorageKey("organization").
  Default("fb-test"),
```
Generated default of:
```
// DefaultTenant holds the default value on creation for the tenant field.
DefaultTenant = descTenant.Default.(string)
```
But migration references non existent default (storage key is used):
```
{Name: "organization", Type: field.TypeString, Default: user.DefaultOrganization},
```

Reviewed By: a8m

Differential Revision: D17578898

fbshipit-source-id: afca92ac3f34c16100c868a10d0a480139bf4262
2019-09-25 13:51:45 -07:00
Ariel Mashraki
57e95e0c7a sql/schema: add MySQL datetime type to column scan
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/39

Reviewed By: alexsn

Differential Revision: D17477388

fbshipit-source-id: 806fdce823ec919115f34b87a29ae411575537c0
2019-09-19 07:58:36 -07:00
Ariel Mashraki
26f3a42944 sql/schema: avoid parsing prerelease in semver
Reviewed By: alexsn

Differential Revision: D17476646

fbshipit-source-id: a3c8de5232e8c249c44fcb734c566420dccd0aa8
2019-09-19 06:36:56 -07:00
Ariel Mashraki
c3955a08f1 schema/field: json type support (#38)
Summary:
Pull Request resolved: https://github.com/facebookincubator/ent/pull/38

Only `IsNil` and `NotNil` predicates are supported this moment

Reviewed By: alexsn

Differential Revision: D17444976

fbshipit-source-id: 37336fa0bc7749af995933baee2e23bb7366dd78
2019-09-19 05:00:11 -07:00
Ariel Mashraki
a89cf1ff72 ent/dialect: add missing license headers
Reviewed By: alexsn

Differential Revision: D17390279

fbshipit-source-id: bdf27f42d768305341bfcc6cf80fa5bde63497e9
2019-09-15 09:43:24 -07:00
Ariel Mashraki
d99d9d282e ent/migrate: properly scan text columns
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/34

Reviewed By: alexsn

Differential Revision: D17390040

fbshipit-source-id: 92cb0e638f484877af185a88e41aa9c5eef6d22b
2019-09-15 08:08:41 -07:00
Ariel Mashraki
6915b13d25 ent/gen: add support for external tempaltes execution
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/30

Reviewed By: dlvhdr

Differential Revision: D17318127

fbshipit-source-id: eccc2963f648296e222de9d002ab3caa8fac1389
2019-09-11 12:18:34 -07:00
Ariel Mashraki
7dfe3c174c sql/schema: more precise blob definition
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/29

Reviewed By: alexsn

Differential Revision: D17284406

fbshipit-source-id: 84c2ffb50b8f016ad361f1420c5352c7969cbc77
2019-09-10 12:40:37 -07:00
Ariel Mashraki
b067d5d8b4 dialect/sql: increment and decrement columns using "add"
Summary:
Use case:

```
query, args := Update("data_packs").
  Add("bytes_left", count).
  Where(expr...).
  Query()
```

Reviewed By: alexsn

Differential Revision: D17257590

fbshipit-source-id: f27b4b388a711a16deb0c3b790e24957e044204d
2019-09-09 05:50:59 -07:00
Ariel Mashraki
6c20ef1d3a ent/migrate: add writedriver for dumping sql exec commands
Reviewed By: alexsn

Differential Revision: D17200893

fbshipit-source-id: 09ec631b5a52d617d0ee97bda81c52f67486889e
2019-09-08 06:01:12 -07:00
Ariel Mashraki
9ab0a28ffe entc/select: add selection api
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/27

Reviewed By: alexsn

Differential Revision: D17164536

fbshipit-source-id: f5caa80b05aff1ef8ec30d7a53256b00380d018c
2019-09-04 07:14:24 -07:00
Alex Snast
b71ee6820b ent/schema: remove string field charset / collation settings
Summary: don't expose starage specific features in ent schema

Reviewed By: a8m

Differential Revision: D17111724

fbshipit-source-id: fca9e624b272c0db3fed14c511fa6cb07816a100
2019-08-29 07:38:39 -07:00
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
Alex Snast
011e6d24ae ent/migrate: correctly handle column collation change
Summary: In addition coulmn description on create / alter table to use 'CHARACTER SET' keyword instead of 'CHARSET' per mysql docs (https://dev.mysql.com/doc/refman/5.7/en/charset-column.html)

Reviewed By: a8m

Differential Revision: D17090725

fbshipit-source-id: d0f53a547ff8d68f2b2b54af96ef5b86f60f74b4
2019-08-28 02:18:02 -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
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
fb56e0c786 ent/dialect/sql: add ContainsFold to builder
Reviewed By: alexsn

Differential Revision: D16961184

fbshipit-source-id: f3f0c2bdd4950340ddebca929b8fed79256c7aeb
2019-08-22 04:38:15 -07:00
Ariel Mashraki
e2524ff0ad ent/dialect/sql: add upper and lower methods
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/18

Reviewed By: elys1um

Differential Revision: D16916563

fbshipit-source-id: f758536103356cb5b2bacf707c7c7da931bb4560
2019-08-20 07:52:59 -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
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