Files
BordroRobot/app/lib/run/db.go
2024-03-26 13:40:15 +03:00

51 lines
891 B
Go

package run
import (
"database/sql"
"fmt"
"github.com/jmoiron/sqlx"
_ "modernc.org/sqlite"
)
var DB *sqlx.DB
func createTableIfNotExists(tableName string, schema string) error {
var tmpName string
sqCheck := "SELECT name FROM sqlite_master WHERE type='table' AND name=?"
err := DB.QueryRow(sqCheck, tableName).Scan(&tmpName)
if err != nil {
if err != sql.ErrNoRows {
return err
}
} else {
return nil
}
_, err = DB.Exec(schema)
return err
}
func InitDB(path string) error {
var err error
fname := fmt.Sprintf("%s/%s", path, "bordro_robot.db")
DB, err = sqlx.Open("sqlite", fname)
if err != nil {
return err
}
companySchema := `
create table company (
name text not null unique,
member_number text not null,
username text not null,
password text not null
)
`
err = createTableIfNotExists("company", companySchema)
return err
}