db_connect.go 818 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package tool
  2. import (
  3. "database/sql"
  4. "fmt"
  5. "strings"
  6. _ "github.com/go-sql-driver/mysql"
  7. _ "modernc.org/sqlite"
  8. )
  9. func DB_connect(db_set map[string]string) *sql.DB {
  10. if db_set["type"] == "sqlite" {
  11. db, err := sql.Open("sqlite", db_set["name"]+".db")
  12. if err != nil {
  13. fmt.Println(err)
  14. return nil
  15. }
  16. return db
  17. } else {
  18. db, err := sql.Open("mysql", db_set["mysql_user"]+":"+db_set["mysql_pw"]+"@tcp("+db_set["mysql_host"]+":"+db_set["mysql_port"]+")/"+db_set["name"])
  19. if err != nil {
  20. fmt.Println(err)
  21. return nil
  22. }
  23. return db
  24. }
  25. }
  26. func DB_change(db_set map[string]string, data string) string {
  27. if db_set["type"] == "mysql" {
  28. data = strings.Replace(data, "random()", "rand()", -1)
  29. data = strings.Replace(data, "collate nocase", "collate utf8mb4_general_ci", -1)
  30. }
  31. return data
  32. }