MCPcopy
hub / github.com/go-gorm/gorm / mysqlVersionAtLeast

Function mysqlVersionAtLeast

tests/helper_test.go:284–315  ·  view source on GitHub ↗
(major, minor int)

Source from the content-addressed store, hash-verified

282}
283
284func mysqlVersionAtLeast(major, minor int) bool {
285 if !isMysql() {
286 return false
287 }
288
289 var version string
290 if err := DB.Raw("SELECT VERSION()").Row().Scan(&version); err != nil {
291 return false
292 }
293
294 base := strings.SplitN(strings.TrimSpace(version), "-", 2)[0]
295 parts := strings.Split(base, ".")
296 if len(parts) < 2 {
297 return false
298 }
299
300 currentMajor, err := strconv.Atoi(parts[0])
301 if err != nil {
302 return false
303 }
304
305 currentMinor, err := strconv.Atoi(parts[1])
306 if err != nil {
307 return false
308 }
309
310 if currentMajor != major {
311 return currentMajor > major
312 }
313
314 return currentMinor >= minor
315}
316
317func isSqlite() bool {
318 return os.Getenv("GORM_DIALECT") == "sqlite"

Calls 4

isMysqlFunction · 0.85
ScanMethod · 0.65
RowMethod · 0.65
RawMethod · 0.65

Tested by

no test coverage detected