Commit Graph

54 Commits

Author SHA1 Message Date
Ariel Mashraki
e54373f410 ent: allow non-numeric columns as PKs
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/180

Reviewed By: alexsn

Differential Revision: D18636443

fbshipit-source-id: f14b34926817f6d9652f49a640bfb377f3f3cdaf
2019-11-21 08:49:58 -08:00
Ariel Mashraki
703a6dd039 dialect/sql/schema: mysql support for uuid type
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/176

Reviewed By: alexsn

Differential Revision: D18615992

fbshipit-source-id: 2c86a661e8d75165470b9b2d351cb973147290d8
2019-11-20 09:49:55 -08:00
Ariel Mashraki
f7dac21972 dialect/sql/schema: sqlite support for uuid type
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/177

Reviewed By: alexsn

Differential Revision: D18615595

fbshipit-source-id: b3167a0aa9260cdf22d88dd7e45c7ebfae1909d5
2019-11-20 09:49:55 -08:00
Ariel Mashraki
db7b05ad04 dialect/sql/schema: postgres support for uuid type
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/178

Reviewed By: alexsn

Differential Revision: D18615561

fbshipit-source-id: 8244189186bf35d78cfdb991ee4f8cecd6411cee
2019-11-20 09:49:54 -08:00
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
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
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
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
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
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
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
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
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
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
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
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
b5cdb810b8 dialect/sql/schema: universl id allocation support
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/9

Reviewed By: alexsn

Differential Revision: D16252229

fbshipit-source-id: 795b6556d322e5c1ff5fb826c3b06ba5421ac857
2019-07-15 02:30:41 -07:00
Ariel Mashraki
4b176495e8 add support for all int types in schema
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/8

Reviewed By: alexsn

Differential Revision: D16131257

fbshipit-source-id: 7b362740053c684f70ec69188b2fcee898605436
2019-07-10 09:24:31 -07:00
Ariel Mashraki
e8e96f014f add charset support for fields
Summary: Basically, adding support for Hebrew characters.

Reviewed By: alexsn

Differential Revision: D16068537

fbshipit-source-id: 4e934da5ea97c9e804317f746556ab1d51faebcc
2019-07-01 08:10:24 -07:00
Ariel Mashraki
0e605681b2 quote table name on DESCRIBE statement (#7)
Summary:
Pull Request resolved: https://github.com/facebookincubator/ent/pull/7

avoid conflicting with reserved words (e.g. "groups" became reserved word in MySQL 8.x)

Reviewed By: alexsn

Differential Revision: D15957279

fbshipit-source-id: b6944752c7e5f6ec37119b11cc0ab8a0d7d3a7ff
2019-06-23 01:51:28 -07:00
Ariel Mashraki
5ca9494121 enable sql dialect option on integration env (#1014)
Summary:
Pull Request resolved: https://github.com/facebookexternal/fbc/pull/1014

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

Reviewed By: alexsn

Differential Revision: D15928002

fbshipit-source-id: 4b5a639405f218f6b6cc90d152380d2fc9525a3f
2019-06-21 05:15:52 -07:00