|
@@ -1,6 +1,8 @@
|
|
package database
|
|
package database
|
|
|
|
|
|
import (
|
|
import (
|
|
|
|
+ "bytes"
|
|
|
|
+ "io"
|
|
"io/fs"
|
|
"io/fs"
|
|
"os"
|
|
"os"
|
|
"path"
|
|
"path"
|
|
@@ -104,3 +106,13 @@ func GetDB() *gorm.DB {
|
|
func IsNotFound(err error) bool {
|
|
func IsNotFound(err error) bool {
|
|
return err == gorm.ErrRecordNotFound
|
|
return err == gorm.ErrRecordNotFound
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+func IsSQLiteDB(file io.Reader) (bool, error) {
|
|
|
|
+ signature := []byte("SQLite format 3\x00")
|
|
|
|
+ buf := make([]byte, len(signature))
|
|
|
|
+ _, err := file.Read(buf)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return false, err
|
|
|
|
+ }
|
|
|
|
+ return bytes.Equal(buf, signature), nil
|
|
|
|
+}
|