1
0
Fork 0

Support both New and Open database calls

master
Philip O'Toole 10 years ago
parent be8f2aa861
commit 1430ff8b79

@ -3,6 +3,7 @@ package db
import ( import (
"database/sql" "database/sql"
"errors" "errors"
"os"
_ "github.com/mattn/go-sqlite3" _ "github.com/mattn/go-sqlite3"
@ -26,8 +27,14 @@ type DB struct {
type RowResult map[string]string type RowResult map[string]string
type RowResults []map[string]string type RowResults []map[string]string
// New creates a new database. // New creates a new database. Deletes any existing database.
func New(dbPath string) *DB { func New(dbPath string) *DB {
os.Remove(dbPath)
return Open(dbPath)
}
// Open an existing database, creating it if it does not exist.
func Open(dbPath string) *DB {
log.Trace("SQLite database path is %s", dbPath) log.Trace("SQLite database path is %s", dbPath)
dbc, err := sql.Open("sqlite3", dbPath) dbc, err := sql.Open("sqlite3", dbPath)
if err != nil { if err != nil {

@ -203,7 +203,7 @@ func (s *DbSuite) Test_TransactionsHardFail(c *C) {
c.Assert(err, IsNil) c.Assert(err, IsNil)
db.Close() db.Close()
db = New(path.Join(dir, "test_db")) db = Open(path.Join(dir, "test_db"))
c.Assert(db, NotNil) c.Assert(db, NotNil)
r, err := db.Query("SELECT * FROM foo") r, err := db.Query("SELECT * FROM foo")
c.Assert(len(r), Equals, 1) c.Assert(len(r), Equals, 1)

Loading…
Cancel
Save