Chen Quan
a480bd8545
Update Optimize schema ( #4364 )
2021-05-10 09:51:50 +08:00
Jinzhu
6b7abc54a2
Fix tests
2021-05-06 13:06:31 +08:00
Jinzhu
2aca96d147
test ignore migration, close #4314 , #4315
2021-05-05 08:26:48 +08:00
Paras Waykole
8f7f3ad315
fixed belongs_to & has_one reversed if field same ( #4343 )
2021-05-05 07:57:54 +08:00
Jinzhu
70e93e73d8
Check data type if copyable before change reference field's type
2021-04-30 16:35:55 +08:00
Sky34gl3
a855fe6402
Fixed naming longer than 64 characters ( #4310 )
...
Co-authored-by: Mickael MAUGER <mickael.mauger@almerys.com>
2021-04-22 13:11:19 +08:00
Chris Faulkner
15a46bc042
Fix some typos ( #4294 )
2021-04-19 21:03:39 +08:00
heige
74e7a9ca07
Optimize reflect value length and method ( #4280 )
...
* Respect ignore migration when add column (#4276 )
continue https://github.com/go-gorm/gorm/pull/4028
* feat: Optimal value type acquisition for v (#4278 )
* feat: optimize relect value length and value
* feat: optimize ConvertSliceOfMapToValuesForCreate method
Co-authored-by: yrong1997 <yrong1997@gmail.com>
2021-04-14 13:00:54 +08:00
heige
5555b010dc
feat: Optimal value type acquisition for v ( #4278 )
2021-04-13 09:41:30 +08:00
gavwu
8cfa9d98f0
Update field.go ( #4228 )
...
seems like the `if-else` branch do the same thing, so remove it
2021-04-02 09:56:38 +08:00
Jinzhu
220349ccf2
Fix omit associations, close #4161
2021-03-19 15:15:26 +08:00
Shubhendra Singh Chauhan
0348b1d3c1
chore: improve code quality ( #4123 )
...
* Combine multiple `append`s into a single call
* Clean up copied struct fields with type conversion
* Remove unnecessary use of slice
2021-03-08 10:46:43 +08:00
heige
02cb40531e
Optimize parse constraint ( #4153 )
...
* for Config.cacheStore store PreparedStmtDB key
* invalid db error and value and invalid value length error (#4151 )
* support named params in Select API (#4142 )
* adds support for named arguments in select
* changes clause identifies and adds test
* optimize match english letters and midline
Co-authored-by: Ratan Phayade <ratanphayade@users.noreply.github.com>
2021-03-08 10:21:33 +08:00
Sivchari
adf85d5b82
change the method of initializing slice ( #4097 )
...
* change the method of initializing slice and fixed the length to be specified as 0
* keep the association.go code in the var group
* keep the association.go code in the var group
* change to initializing in var group
2021-03-04 19:44:15 +08:00
Jinzhu
92a2389450
Fix create duplicated constraint, close #4090
2021-02-16 08:35:19 +08:00
Jinzhu
628a0ae707
Fix foreign key & reference with same name, close #4081
2021-02-15 09:10:51 +08:00
Joel Nordell
5744e29fbd
Replacer interface for more flexible NamingStrategy ( #4042 )
...
* Change NameReplacer to an interface, allowing custom Replacers.
* Add NoLowerCase option to skip the snake_casing of names.
* Move sync.Map from global variable into member of NamingStrategy.
This maintains backward compatibility by making the smap optional - the
NamingStrategy still works if it is nil. gorm.Open activates it by
calling Init() if the given Namer is a schema.NamingStrategy.
Also, this changes the key stored in the smap to be the original name,
instead of the replaced name.
* Refactor NamingStrategy tests to add more assertions about how and when Replacers get called.
* Remove the name cache from NamingStrategy.
2021-02-14 08:16:24 +08:00
yrong1997
2ba612e805
Add field tag to ignore migration ( #4028 )
...
* Add field tag to ignore migration
* Fix null value with space
* refactor migration tag
2021-02-09 16:03:02 +08:00
Jinzhu
deff0594ee
Save associations based on creatable/updatable permission, close #4056
2021-02-07 14:24:11 +08:00
heige
e80853e7f5
optimization check for ParseCheckConstraints ( #4063 )
2021-02-07 10:12:13 +08:00
Jinzhu
8f37cb0195
Make has to be a const, close #4024
2021-02-01 10:42:13 +08:00
Jinzhu
db0cc4d60b
Fix too long foreign key/checker names, close #4026
2021-02-01 10:37:12 +08:00
Jinzhu
916338a9e1
Test migrate constraints, close #3986
2021-01-26 13:39:34 +08:00
Jinzhu
6095dbf939
Fix parse embedded relations, close #3964 , #3965
2021-01-19 15:40:04 +08:00
Lisa Casner
ce610a9560
title case schema name ( #3940 )
2021-01-13 13:05:05 +08:00
Jinzhu
b864a5457a
Allow foreign key following the default naming conventions, close #3928
2021-01-10 17:32:17 +08:00
Jinzhu
79864af9ff
Allow customize auto increment increment
2020-12-30 11:16:40 +08:00
Jinzhu
065787c54e
Compatible with with foreign key with ID suffix #3890
2020-12-28 18:20:55 +08:00
Jinzhu
8bf50a5592
Fix parse relations if only specfied References, close #3890
2020-12-28 17:58:12 +08:00
Jinzhu
6a0fca2195
Return error for invalid relations definition, close #3830
2020-12-06 18:07:16 +08:00
Jinzhu
f655041908
Allow overwrite ignored field's permission, close #3829
2020-12-06 11:07:05 +08:00
Andy Bursavich
61d3a4d6ea
Fix schema initialization paths ( #3825 )
...
* Fix schema initialization paths
The initialized channel was only closed if the schema's cacheStore did not contain the embeddedCacheKey and there were no errors parsing relations. If the key existed or an error occurred, it would not be closed. This could leave other goroutines waiting for synchronization that will never occur.
Additionally, the other code paths that wait for initialization to complete did not return the possible error.
* Unnest common schema initialization
This makes the common code path less deeply nested and the flow control easier to follow.
2020-12-04 11:28:38 +08:00
Jinzhu
0f77500917
Waiting for schema to be initialized, close #3790
2020-11-27 17:05:45 +08:00
Jinzhu
6950007d6a
Fix failed to parse relations when using goroutinue, close #3790
...
commit ee0ec43e8dfa85c1c1a562c2d0d47776cf8abd92
Author: Jinzhu <wosmvp@gmail.com>
Date: Fri Nov 27 14:31:57 2020 +0800
Fix failed to parse relations when using goroutinue, close #3790
commit 590e73ff95
Author: rokeyzhao <rokeyzhao@tencent.com>
Date: Thu Nov 26 20:27:55 2020 +0800
test: no cache preload in goroutine
2020-11-27 14:32:20 +08:00
Jinzhu
66e8a72bf1
Support NameReplace for NamingStrategy, close #3779
2020-11-23 11:24:07 +08:00
alresvor
a4c0c6b400
cache converted name ( #3736 )
...
BenchmarkToName-8 2322307 521 ns/op 88 B/op 5 allocs/op
↓
BenchmarkToName-8 19997366 55.0 ns/op 0 B/op 0 allocs/op
2020-11-16 15:16:15 +08:00
Jinzhu
1e241aa645
Reduce GC alloc
2020-11-10 21:23:20 +08:00
Jinzhu
cb591a7129
Fix panic when using FirstOrCreate with soft delete, close #3671
2020-10-23 18:40:05 +08:00
Jinzhu
5fee5b1b24
Add option tag support for index
2020-10-21 20:18:21 +08:00
Jinzhu
3d846957cd
Compatible with tag notNull
2020-10-09 17:42:28 +08:00
Jinzhu
a2faa41cbe
Refactor NamingStrategy, close #3540
2020-09-28 10:55:27 +08:00
Jinzhu
ba253982bf
Fix Pluck with Time and Scanner
2020-09-24 20:08:24 +08:00
Jinzhu
1a526e6802
Fix NamingStrategy with embedded struct, close #3513
2020-09-24 11:32:38 +08:00
Jinzhu
ed1b134e1c
Fix use uint to for autoCreateTime, autoUpdateTime
2020-09-11 17:33:31 +08:00
Jinzhu
b8a74a80d7
Fix embedded struct with default value, close #3451
2020-09-11 11:18:54 +08:00
Jinzhu
231effe119
Fix parse blank default value, close #3442
2020-09-10 11:59:18 +08:00
Jinzhu
f6ed895caf
Build relationships if fields are not ignored, fix #3181
2020-09-09 16:37:05 +08:00
Jinzhu
6e38a2c2d5
Fix many2many join table name rule
2020-09-06 10:51:21 +08:00
Jinzhu
f121622228
Don't add prefix for invalid embedded fields
2020-09-04 14:35:44 +08:00
Jinzhu
6a86646469
Fix use db function as integer's default value, close #3384
2020-09-03 20:41:00 +08:00
Jinzhu
78e9c9b748
raise error when failed to parse default value, close #3378
2020-09-03 18:20:57 +08:00
Jinzhu
f2adb088c5
Set field size from primary fields to foreign fields
2020-09-03 16:11:15 +08:00
Jinzhu
dbe0f4d8d7
Allow use NULL as default value for string, close #3363
2020-09-02 20:15:12 +08:00
aimuz
9a101c8a08
fmt.Sprint() to strconv.Format ( #3354 )
2020-09-01 21:03:37 +08:00
Jinzhu
162367be7d
Fix multiple M2M relations on one table, close #3347
2020-09-01 11:30:16 +08:00
Jinzhu
53f8c9fc1c
More compatible prioritized primary field #3156
2020-08-30 20:58:14 +08:00
Jinzhu
c19a3abefb
Fix self-referential belongs to, close #3319
2020-08-28 11:31:13 +08:00
Jinzhu
ce8853e7a6
Add GormValuer interface support
2020-08-27 15:03:57 +08:00
Jinzhu
0f3201e73b
friendly invalid field error message
2020-08-25 18:18:16 +08:00
Jinzhu
cc6a64adfb
Support smart migrate, close #3078
2020-08-23 18:16:12 +08:00
Jinzhu
2b510d6423
Don't create index for join table, close #3294
2020-08-21 15:40:50 +08:00
Jinzhu
f88e8b072c
Check valid pointer before use it as Valuer
2020-08-20 18:13:29 +08:00
Jinzhu
06de6e8834
Test same field name from embedded field, close #3291
2020-08-20 10:58:35 +08:00
Jinzhu
3313c11888
Fix embedded struct containing field named ID, close #3286
2020-08-19 19:15:27 +08:00
Jinzhu
c1782d60c1
Fix embedded scanner/valuer, close #3283
2020-08-19 15:47:08 +08:00
Jinzhu
dc48e04896
Fix nested embedded struct, close #3278
2020-08-18 11:21:40 +08:00
Jinzhu
681268cc43
Refactor Create/Query/Update/DeleteClauses interface
2020-08-17 16:31:09 +08:00
Jinzhu
6834c25cec
Fix stack overflow for embedded self-referred associations, close #3269
2020-08-17 12:02:46 +08:00
Jinzhu
7d45833f3e
Fix driver.Valuer interface returns nil, close #3248
2020-08-13 12:05:55 +08:00
Jinzhu
a3dda47afa
Don't parse ignored anonymous field
2020-08-13 10:23:23 +08:00
Jinzhu
ff985b90cc
Fix failed to guess relations for embedded types, close #3224
2020-08-04 12:25:34 +08:00
Jinzhu
f83b00d20d
Fix Count with Select when Model not specfied, close #3220
2020-08-03 10:30:25 +08:00
Jinzhu
2676fa4fb8
Remove autoincrement tag for join table, close #3217
2020-07-31 18:19:25 +08:00
lninl
7bb883b665
Auto creating/updating time with unix (milli) second ( #3213 )
...
* Auto creating/updating time with unix (milli) second
* add test for 'Auto creating/updating time with unix (milli) second'
2020-07-30 17:39:57 +08:00
Jinzhu
47a5196734
Fix uninitialized Valuer return time.Time, close #3214
2020-07-30 17:37:07 +08:00
Jinzhu
7c2ecdfc1c
Fix use pointer of Valuer as foreign key, close #3212
2020-07-30 10:23:35 +08:00
Jinzhu
2cbdd29f26
Returns error for invalid embedded field, close #3209
2020-07-29 10:23:14 +08:00
Jinzhu
7021db3655
Fix FieldsWithDefaultDBValue for primary field, close #3187
2020-07-22 19:03:19 +08:00
Jinzhu
ef002fd7ac
Add GORMDataType to Field, close #3171
2020-07-20 19:00:03 +08:00
Jinzhu
6dc583869b
Don't use value's first field to guess data type for struct implements GormDataTypeInterface
2020-07-17 12:02:00 +08:00
Jinzhu
4456df7a5d
Lint with golangci-lint
2020-07-16 11:27:12 +08:00
Jinzhu
0028246ea5
Don't set DefaultValueInterface when DefaultValue not set, close #3152
2020-07-16 10:19:24 +08:00
Jinzhu
bc3728a18f
Fix concurrent map writes, close #3126
2020-07-10 07:14:37 +08:00
Jinzhu
2ae0653af2
Fix ambiguous column when using same column name in join table, close #3120
2020-07-09 09:03:48 +08:00
Jinzhu
e1084e78d0
Allow customize AutoIncrement for primary field
2020-07-08 18:50:49 +08:00
Jinzhu
619cd332ec
Add index priority supports
2020-07-08 17:59:40 +08:00
Jinzhu
90a40361ed
Fix set bool field from null
2020-07-04 08:21:23 +08:00
Jinzhu
6b98ced13d
Fix set time field from null, close #3108
2020-07-04 07:45:07 +08:00
Jinzhu
d4f8a52442
Fix join table foreign key in snake_case
2020-07-04 07:24:46 +08:00
Jinzhu
2416eabd3f
Change unique_idnex to UniqueIndex
2020-07-04 00:36:27 +08:00
Jinzhu
fea181e87c
Test multiple index tags
2020-07-01 11:47:46 +08:00
Jinzhu
2d048d9ece
SingularTable for JoinTable
2020-06-30 07:29:15 +08:00
Jinzhu
2476c0fbb4
Set db type after autotime
2020-06-26 07:26:45 +08:00
Hinagiku Soranoba
b733d16f56
Create supports Array / ArrayPtr ( #3076 )
...
* add Array / ArrayPtr create tests
* support create using array
2020-06-23 14:38:36 +08:00
Jinzhu
e77e7bb842
Fix nested embedded field with pointer, close #3071
2020-06-23 09:12:57 +08:00
Jinzhu
d0764bead1
Test migrate with comment and check created constraints
2020-06-21 13:59:43 +08:00
Jinzhu
fee1e4aafd
Fix create foreign keys for many2many relations
2020-06-21 10:48:23 +08:00
Jinzhu
a1e35bdc94
Support merge batch data some having primary values
2020-06-20 16:52:15 +08:00
Jinzhu
4f19e2a7b3
Test ForeignKeyConstraints
2020-06-20 01:20:18 +08:00
Jinzhu
d4d339f3b5
Handle data type cases
2020-06-19 22:51:46 +08:00