2
0

db_connect.go 786 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package tool
  2. import (
  3. "database/sql"
  4. "log"
  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. log.Fatal(err)
  14. }
  15. return db
  16. } else {
  17. 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"])
  18. if err != nil {
  19. log.Fatal(err)
  20. }
  21. return db
  22. }
  23. }
  24. func DB_change(db_set map[string]string, data string) string {
  25. if db_set["type"] == "mysql" {
  26. data = strings.Replace(data, "random()", "rand()", -1)
  27. data = strings.Replace(data, "collate nocase", "collate utf8mb4_general_ci", -1)
  28. }
  29. return data
  30. }