Zhizhen He
6f847a3492
ci: add spell checker and fix existing typo ( #3420 )
...
* ci: add spell checker and fix existing typo
* chore: move typos.toml to .github
* fix: correct config file path
2023-03-30 11:38:29 +03:00
Jannik Clausen
55e98b5b9b
dialect/sql/schema: mock result in write driver if returning clause is present ( #3369 )
2023-03-07 10:43:01 +01:00
Jannik Clausen
809b22be7c
dialect/sql/schema: strip returning from seed ( #3367 )
2023-03-07 07:46:34 +01:00
Ariel Mashraki
7e2da46e09
dialect/sql/schema: expand fmt.Stringer args in WriteDriver ( #3366 )
2023-03-04 23:05:16 +02:00
Ariel Mashraki
3b7715b552
dialect/sql/schema: allow setting table comments ( #3365 )
2023-03-04 20:50:26 +02:00
Ariel Mashraki
f16451eab8
dialect/sql/schema: allow planning with indentation ( #3363 )
2023-03-04 10:06:53 +02:00
Ariel Mashraki
bd6f26aa7c
dialect/sql/schema: allow configuring Atlas to return ErrNoPlan ( #3322 )
2023-02-16 21:56:51 +02:00
Ariel Mashraki
4e05f76717
dialect/sql: minor changes to allow using Migrate externally ( #3316 )
2023-02-14 15:06:36 +02:00
Ariel Mashraki
4c87e262a6
dialect/sql/schema: use the Atlas as state reader ( #3314 )
2023-02-14 10:20:34 +02:00
blukai
349b950978
dialect/sql/schema: ensure consistency of NotCleanError ( #3310 )
...
* dialect/sql/schema: ensure consistency of NotCleanError
For https://github.com/ariga/atlas/pull/1454
* get rid of cerr var
https://github.com/ariga/atlas/pull/1454#discussion_r1102391750
2023-02-10 13:25:53 +01:00
Ariel Mashraki
7ed84a86a8
dialect/sql/schema: skip destructive table changes ( #3253 )
...
This will be fixed also in Atlas, but having this extra safety here feels safer
2023-01-19 15:33:17 +02:00
Ariel Mashraki
136807549d
dialect/entsql: supports setting SQL column comments ( #3191 )
...
* feat: Add column comment in SQL DDL, using EntSQL annotations to achieve it.
* Update annotation.go
* fix lint
* Add table primary key column comment
* entsql.Comment(string) is unnecessary
* entc/gen: minor changes to entsql.WithComments + add tests
Co-authored-by: chenghonour <wantto@outlook.com >
2022-12-26 14:48:37 +02:00
Pedro Henrique
3f4916ff8b
dialect/sql/schema: fix issue with WriteDriver when using Postgres with Query ( #3162 )
2022-12-09 21:08:55 +02:00
Pedro Henrique
397afc3d85
dialect/sql/schema: avoid setting the primary key when no primary key is present ( #3114 )
...
* dialect/sql: avoid setting the primary key when no primary key is present
* fix tests
* adds comment
2022-11-28 06:48:00 +02:00
Ariel Mashraki
f7109f0274
dialect/sql/schema: make WriteDriver friendlier ( #3119 )
...
Also, add a guide for writing and executing data migrations files.
2022-11-27 13:27:15 +02:00
Ariel Mashraki
5954fa8b15
dialect/sql/schema: normalize ent/schema (desired state) on replay mode ( #3100 )
2022-11-16 20:01:36 +02:00
Ariel Mashraki
891fc8fecf
dialect/sql/schema: support setting default value expressions on id fields ( #3089 )
2022-11-13 18:55:04 +02:00
Ariel Mashraki
1e5f68646f
dialect/sql/entsql: support setting expression as column default value
...
Fixed https://github.com/ent/ent/issues/3069
2022-11-12 14:38:33 +02:00
Ariel Mashraki
3b5a535801
dialect/sql/schema: allow setting JSON default values on pg, sqlite and maria ( #3081 )
2022-11-11 07:41:21 +02:00
Ariel Mashraki
eae7d390a9
dialect/sql: add support for index operator-class using atlasgo.io ( #3073 )
2022-11-08 14:08:10 +02:00
Jannik Clausen
c41d223733
dialect/sql/schema: disable foreign keys before opening a transaction ( #2966 )
...
* 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
2022-09-28 07:41:49 +02:00
Ariel Mashraki
e93e96ed1b
dialect/sql/schema: use serial underlying types for fks ( #2963 )
2022-09-27 07:54:07 +03:00
Jannik Clausen
139725ee00
dialect/sql/schema: no longer allocate a PK range for a join table ( #2950 )
...
* dialect/sql/schema: no longer allocate a PK range for a join table
* test that no breaking change is introduced
2022-09-23 13:40:36 +03:00
Ariel Mashraki
3fc4ba6f15
dialect/entsql: add support for partial indexes ( #2944 )
2022-09-20 15:07:28 +03:00
Ariel Mashraki
cfb038810d
dialect/sql/entsql: support including non-key columns in postgres indexes ( #2912 )
2022-09-07 22:09:48 +03:00
Ariel Mashraki
2c63d1d70e
all: gofmt -w -r 'interface{} -> any' ( #2874 )
2022-08-19 18:23:04 +03:00
Jannik Clausen
b6c185a660
dialect/sql/schema: make use of new atlas migration directories and r… ( #2873 )
...
* dialect/sql/schema: make use of new atlas migration directories and remove examples for custom formatters
* typo
2022-08-19 14:42:54 +02:00
Ariel Mashraki
1c01301de1
sql/dialect/schema: support setting PK to serial types in postgres ( #2748 )
2022-07-13 14:40:56 +03:00
Jannik Clausen
bc623b3f64
all: update atlas ( #2739 )
2022-07-11 15:25:14 +02:00
Jannik Clausen
412f5f75ca
add docs about auto-increment counter "bug" in MySQL versions < 8.0 and how to handle it ( #2722 )
2022-07-06 10:34:39 +02:00
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
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
Ariel Mashraki
8416fb502d
dialect/sql/schema: setup tables before running migrate diff ( #2703 )
...
Keep the same API as schema.Create
2022-06-30 09:55:40 +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
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
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
Jannik Clausen
4142108d62
doc/website/blog: external tools and sum file ( #2489 )
...
* doc/website/blog: external tools and sum file
* Apply suggestions from code review
Co-authored-by: Ariel Mashraki <7413593+a8m@users.noreply.github.com >
* doc/website/blog: apply CR
* Apply suggestions from code review
Co-authored-by: Hila Kashai <73284641+hilakashai@users.noreply.github.com >
* doc/website/blog: minor fixes
* doc/website/blog: invoke atlas command by calling go run
* doc/website/blog: It's-a me, Jannik!
* Apply suggestions from code review
Co-authored-by: Rotem Tamir <rotemtamir@gmail.com >
Co-authored-by: Ariel Mashraki <7413593+a8m@users.noreply.github.com >
Co-authored-by: Hila Kashai <73284641+hilakashai@users.noreply.github.com >
Co-authored-by: Rotem Tamir <rotemtamir@gmail.com >
2022-05-09 15:23:51 +02:00
MasseElch
12b6659c72
dialect/sql/schema: respect sumfile when present and do not operate on checksum mismatch ( #2522 )
2022-05-05 10:43:20 +02: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
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
MasseElch
89dc83887c
doc/md: document usage of atlas supported migration tools ( #2467 )
...
* doc/md: document usage of atlas supported migration tools
* dialect/sql/schema: fix tests
2022-04-13 12:47:00 +02:00
Ariel Mashraki
6e4e4da896
entc/integration/migrate: update atlas and test custom time precision ( #2462 )
2022-04-08 11:27:30 +03:00
Charles Ge
e463cbca55
init db version before executing diff ( #2440 )
...
What's the problem: Under versioned migration on MySQL 8.0, unique string field would be generated as type varchar(191) instead of varchar(255). This is because in generating migration files by NamedDiff(), sqlDialect's init() method is not called.
Further concern: For init() function, MySQL and Postgres's implementation checks the database version which is what I want. But SQLite's implementation checks the foreign_keys support. So I think there might be a better may to check the database version before doing Diff().
2022-04-06 09:43:13 +02: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
6c30ca7d4f
dialect/sql/schema: skip creating unique key for primary keys ( #2425 )
2022-03-24 18:53:36 +02:00
Zeev Manilovich
b1abbd3d65
dialect/sql/schema: without foreign keys option for atlas ( #2404 )
...
* dialect/sql: without foreign key option for atlas
* handle fks in modifytables
* add tests
* tests
* Update dialect/sql/schema/atlas.go
Co-authored-by: Ariel Mashraki <7413593+a8m@users.noreply.github.com >
* ct and tests
Co-authored-by: Ariel Mashraki <7413593+a8m@users.noreply.github.com >
2022-03-16 17:27:23 +02:00
MasseElch
db1617bb29
dialect/sql/schema: upgrade atlas and disable sum file creation ( #2400 )
...
* dialect/sql/schema: upgrade atlas and disable sum file creation
* dialect/sql/schema: linter
2022-03-15 17:40:56 +01:00
MasseElch
2853afc1dc
dialect/sql/schema: add method to create a named versioned migration … ( #2385 )
...
* dialect/sql/schema: add method to create a named versioned migration file
* doc/md: documentation for named versioned migrations
* entc/gen/template/dialect/sql/feature: add NamedDiff method to create named versioned migration files
* all: go generate
* doc/md: apply CR
2022-03-10 16:40:57 +01:00
Ariel Mashraki
78a0fd9716
schema/field: expose RType.Implements method ( #2379 )
...
Also, add both (T) and (*T) methods for RType
2022-03-07 22:33:50 +02:00