package utils import ( "database/sql" _ "github.com/mattn/go-sqlite3" "log" "os" ) const ( DbDriver = "sqlite3" TableCreate =` create table IF NOT EXISTS telegram ( [tele_id] INTEGER PRIMARY KEY AUTOINCREMENT, [tele_recv_time] TIMESTAMP NOT NULL DEFAULT (datetime('now', 'localtime')), [tele_processed] int(1) NOT NULL DEFAULT 0, [tele_text] TEXT NOT NULL ) ` ) var ( db *sql.DB ) func getDb(file string, init bool) (*sql.DB, error) { log.Println("init database ", init) if init { log.Println("remove database file", file) os.Remove(file) } db, err := sql.Open(DbDriver, file) defer db.Close() if err != nil { log.Fatal("error in open database ", err) } _, err = db.Exec(TableCreate) if err != nil { log.Fatal("error in create telegram table", err) } log.Println("database ", db, " opened") return db, nil } func InitDb(file string, init bool) error { var dbErr error db, dbErr = getDb(file, init) return dbErr }