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