@@ -4,45 +4,52 @@ sidebar_position: 1
44
55# Database support
66
7- Right now uadmin supports only sqlite database , but it's easy to provide adapters for another databases, we just need to write implementation of the interface
7+ Right now uadmin supports only sqlite, postgres databases , but it's easy to provide adapters for another databases, we just need to write implementation of the interface
88``` go
99type IDbAdapter interface {
1010 Equals (name interface {}, args ...interface {})
1111 GetDb (alias string , dryRun bool ) (*gorm.DB , error )
1212 GetStringToExtractYearFromField (filterOptionField string ) string
1313 GetStringToExtractMonthFromField (filterOptionField string ) string
14- Exact (operatorContext *GormOperatorContext, field *Field, value interface {}, forSearching bool )
15- IExact (operatorContext *GormOperatorContext, field *Field, value interface {}, forSearching bool )
16- Contains (operatorContext *GormOperatorContext, field *Field, value interface {}, forSearching bool )
17- IContains (operatorContext *GormOperatorContext, field *Field, value interface {}, forSearching bool )
18- In (operatorContext *GormOperatorContext, field *Field, value interface {}, forSearching bool )
19- Gt (operatorContext *GormOperatorContext, field *Field, value interface {}, forSearching bool )
20- Gte (operatorContext *GormOperatorContext, field *Field, value interface {}, forSearching bool )
21- Lt (operatorContext *GormOperatorContext, field *Field, value interface {}, forSearching bool )
22- Lte (operatorContext *GormOperatorContext, field *Field, value interface {}, forSearching bool )
23- StartsWith (operatorContext *GormOperatorContext, field *Field, value interface {}, forSearching bool )
24- IStartsWith (operatorContext *GormOperatorContext, field *Field, value interface {}, forSearching bool )
25- EndsWith (operatorContext *GormOperatorContext, field *Field, value interface {}, forSearching bool )
26- IEndsWith (operatorContext *GormOperatorContext, field *Field, value interface {}, forSearching bool )
27- Range (operatorContext *GormOperatorContext, field *Field, value interface {}, forSearching bool )
28- Date (operatorContext *GormOperatorContext, field *Field, value interface {}, forSearching bool )
29- Year (operatorContext *GormOperatorContext, field *Field, value interface {}, forSearching bool )
30- Month (operatorContext *GormOperatorContext, field *Field, value interface {}, forSearching bool )
31- Day (operatorContext *GormOperatorContext, field *Field, value interface {}, forSearching bool )
32- Week (operatorContext *GormOperatorContext, field *Field, value interface {}, forSearching bool )
33- WeekDay (operatorContext *GormOperatorContext, field *Field, value interface {}, forSearching bool )
34- Quarter (operatorContext *GormOperatorContext, field *Field, value interface {}, forSearching bool )
35- Time (operatorContext *GormOperatorContext, field *Field, value interface {}, forSearching bool )
36- Hour (operatorContext *GormOperatorContext, field *Field, value interface {}, forSearching bool )
37- Minute (operatorContext *GormOperatorContext, field *Field, value interface {}, forSearching bool )
38- Second (operatorContext *GormOperatorContext, field *Field, value interface {}, forSearching bool )
39- IsNull (operatorContext *GormOperatorContext, field *Field, value interface {}, forSearching bool )
40- Regex (operatorContext *GormOperatorContext, field *Field, value interface {}, forSearching bool )
41- IRegex (operatorContext *GormOperatorContext, field *Field, value interface {}, forSearching bool )
14+ Exact (operatorContext *GormOperatorContext, field *Field, value interface {}, SQLConditionBuilder *SQLConditionBuilder )
15+ IExact (operatorContext *GormOperatorContext, field *Field, value interface {}, SQLConditionBuilder *SQLConditionBuilder )
16+ Contains (operatorContext *GormOperatorContext, field *Field, value interface {}, SQLConditionBuilder *SQLConditionBuilder )
17+ IContains (operatorContext *GormOperatorContext, field *Field, value interface {}, SQLConditionBuilder *SQLConditionBuilder )
18+ In (operatorContext *GormOperatorContext, field *Field, value interface {}, SQLConditionBuilder *SQLConditionBuilder )
19+ Gt (operatorContext *GormOperatorContext, field *Field, value interface {}, SQLConditionBuilder *SQLConditionBuilder )
20+ Gte (operatorContext *GormOperatorContext, field *Field, value interface {}, SQLConditionBuilder *SQLConditionBuilder )
21+ Lt (operatorContext *GormOperatorContext, field *Field, value interface {}, SQLConditionBuilder *SQLConditionBuilder )
22+ Lte (operatorContext *GormOperatorContext, field *Field, value interface {}, SQLConditionBuilder *SQLConditionBuilder )
23+ StartsWith (operatorContext *GormOperatorContext, field *Field, value interface {}, SQLConditionBuilder *SQLConditionBuilder )
24+ IStartsWith (operatorContext *GormOperatorContext, field *Field, value interface {}, SQLConditionBuilder *SQLConditionBuilder )
25+ EndsWith (operatorContext *GormOperatorContext, field *Field, value interface {}, SQLConditionBuilder *SQLConditionBuilder )
26+ IEndsWith (operatorContext *GormOperatorContext, field *Field, value interface {}, SQLConditionBuilder *SQLConditionBuilder )
27+ Range (operatorContext *GormOperatorContext, field *Field, value interface {}, SQLConditionBuilder *SQLConditionBuilder )
28+ Date (operatorContext *GormOperatorContext, field *Field, value interface {}, SQLConditionBuilder *SQLConditionBuilder )
29+ Year (operatorContext *GormOperatorContext, field *Field, value interface {}, SQLConditionBuilder *SQLConditionBuilder )
30+ Month (operatorContext *GormOperatorContext, field *Field, value interface {}, SQLConditionBuilder *SQLConditionBuilder )
31+ Day (operatorContext *GormOperatorContext, field *Field, value interface {}, SQLConditionBuilder *SQLConditionBuilder )
32+ Week (operatorContext *GormOperatorContext, field *Field, value interface {}, SQLConditionBuilder *SQLConditionBuilder )
33+ WeekDay (operatorContext *GormOperatorContext, field *Field, value interface {}, SQLConditionBuilder *SQLConditionBuilder )
34+ Quarter (operatorContext *GormOperatorContext, field *Field, value interface {}, SQLConditionBuilder *SQLConditionBuilder )
35+ Time (operatorContext *GormOperatorContext, field *Field, value interface {}, SQLConditionBuilder *SQLConditionBuilder )
36+ Hour (operatorContext *GormOperatorContext, field *Field, value interface {}, SQLConditionBuilder *SQLConditionBuilder )
37+ Minute (operatorContext *GormOperatorContext, field *Field, value interface {}, SQLConditionBuilder *SQLConditionBuilder )
38+ Second (operatorContext *GormOperatorContext, field *Field, value interface {}, SQLConditionBuilder *SQLConditionBuilder )
39+ IsNull (operatorContext *GormOperatorContext, field *Field, value interface {}, SQLConditionBuilder *SQLConditionBuilder )
40+ Regex (operatorContext *GormOperatorContext, field *Field, value interface {}, SQLConditionBuilder *SQLConditionBuilder )
41+ IRegex (operatorContext *GormOperatorContext, field *Field, value interface {}, SQLConditionBuilder *SQLConditionBuilder )
4242 BuildDeleteString (table string , cond string , values ...interface {}) *DeleteRowStructure
43+ SetIsolationLevelForTests (db *gorm.DB )
44+ Close (db *gorm.DB )
45+ ClearTestDatabase ()
46+ SetTimeZone (db *gorm.DB , timezone string )
47+ InitializeDatabaseForTests (databaseSettings *DBSettings)
48+ StartDBShell (databaseSettings *DBSettings) error
4349}
4450```
45- and don't forget to handle this database type in the core.NewDbAdapter function.
51+ Please also create ci-cd job for new database type you are adding to the framework.
52+ And don't forget to handle this database type in the core.NewDbAdapter function.
4653You can get instance of the uadminDatabase using function:
4754``` go
4855type UadminDatabase struct {
0 commit comments