db_connect.go 771 B

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