Files
honoka-chan/tools/download_db.go
T
2023-04-10 05:35:13 +08:00

63 lines
1.3 KiB
Go

package tools
import (
"database/sql"
"fmt"
"os"
"strings"
_ "github.com/mattn/go-sqlite3"
)
func GenDownloadDb() {
// Create table
// sql := `CREATE TABLE "main"."download_db" (
// "id" integer NOT NULL,
// "pkg_type" integer,
// "pkg_id" integer,
// "pkg_order" integer,
// "pkg_size" integer,
// PRIMARY KEY ("id")
// )`
db, err := sql.Open("sqlite3", "assets/main.db")
if err != nil {
panic(err)
}
defer db.Close()
fileLists, err := os.ReadDir("F:/sif_dl/list_CN_Android")
if err != nil {
panic(err)
}
for _, v := range fileLists {
if v.IsDir() {
panic(err)
}
fileList := "F:/sif_dl/list_CN_Android/" + v.Name()
fileStat, err := os.Stat(fileList)
if err != nil {
panic(err)
}
pkgSize := fileStat.Size()
fileInfo := strings.Split(strings.ReplaceAll(v.Name(), ".zip", ""), "_")
pkgType, pkgId, pkgOrder := fileInfo[0], fileInfo[1], fileInfo[2]
fmt.Printf("%s - %s - %s - %d\n", pkgType, pkgId, pkgOrder, pkgSize)
stmt, err := db.Prepare("INSERT INTO download_db(pkg_type,pkg_id,pkg_order,pkg_size) VALUES (?,?,?,?)")
if err != nil {
panic(err)
}
res, err := stmt.Exec(pkgType, pkgId, pkgOrder, pkgSize)
if err != nil {
panic(err)
}
id, err := res.LastInsertId()
if err != nil {
panic(err)
}
fmt.Println("LastInsertId:", id)
}
}