numeric uuids
parent
e21b316627
commit
c463bd16d8
14
main.go
14
main.go
|
|
@ -206,7 +206,7 @@ func CloneForColumn[T any](db *sql.DB, table, column string, from, to T, fixed m
|
||||||
|
|
||||||
values := []any{}
|
values := []any{}
|
||||||
for _ = range uuidGenColumns {
|
for _ = range uuidGenColumns {
|
||||||
values = append(values, fmt.Sprintf("'%s'", strings.ToUpper(uuid.New().String())))
|
values = append(values, fmt.Sprintf("'%s'", guid()))
|
||||||
}
|
}
|
||||||
for _, arg := range args {
|
for _, arg := range args {
|
||||||
values = append(values, *(arg.(*any)))
|
values = append(values, *(arg.(*any)))
|
||||||
|
|
@ -243,7 +243,7 @@ func CloneForColumn[T any](db *sql.DB, table, column string, from, to T, fixed m
|
||||||
func() string {
|
func() string {
|
||||||
uuids := make([]string, len(uuidGenColumns))
|
uuids := make([]string, len(uuidGenColumns))
|
||||||
for i := range uuids {
|
for i := range uuids {
|
||||||
uuids[i] = fmt.Sprintf("'%s'", strings.ToUpper(uuid.New().String()))
|
uuids[i] = fmt.Sprintf("'%s'", guid())
|
||||||
}
|
}
|
||||||
s := strings.Join(uuids, ", ")
|
s := strings.Join(uuids, ", ")
|
||||||
if len(uuids) > 0 {
|
if len(uuids) > 0 {
|
||||||
|
|
@ -399,6 +399,12 @@ func Select[T any](db *sql.DB, q string, args ...any) ([]T, error) {
|
||||||
return results, rows.Err()
|
return results, rows.Err()
|
||||||
}
|
}
|
||||||
|
|
||||||
guid() string {
|
func guid() string {
|
||||||
|
s := []byte(uuid.New().String())
|
||||||
|
for i := range s {
|
||||||
|
if 'A' <= s[i] && s[i] <= 'Z' {
|
||||||
|
s[i] = '0' + byte(int(s[i])%10)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return strings.ToUpper(string(s))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue