Changes database initialization
This commit is contained in:
parent
c0b6ecbf1c
commit
ccc85259cb
3 changed files with 45 additions and 7 deletions
|
|
@ -8,15 +8,18 @@ import (
|
|||
migrate "github.com/rubenv/sql-migrate"
|
||||
)
|
||||
|
||||
var db *sql.DB
|
||||
|
||||
//go:embed migrations/*
|
||||
var dbMigrations embed.FS
|
||||
|
||||
func Connect(path string) (*sql.DB, error) {
|
||||
func Open(path string) error {
|
||||
var err error
|
||||
dbOptions := "?_fk=on&_journal=WAL&sync=normal"
|
||||
db, err := sql.Open("sqlite3", path+dbOptions)
|
||||
db, err = sql.Open("sqlite3", path+dbOptions)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return err
|
||||
}
|
||||
|
||||
migrations := migrate.EmbedFileSystemMigrationSource{
|
||||
|
|
@ -24,9 +27,13 @@ func Connect(path string) (*sql.DB, error) {
|
|||
Root: "migrations",
|
||||
}
|
||||
|
||||
if _, err := migrate.Exec(db, "sqlite3", migrations, migrate.Up); err != nil {
|
||||
return nil, err
|
||||
if _, migrateErr := migrate.Exec(db, "sqlite3", migrations, migrate.Up); migrateErr != nil {
|
||||
return migrateErr
|
||||
}
|
||||
|
||||
return db, nil
|
||||
if pingErr := db.Ping(); pingErr != nil {
|
||||
return pingErr
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
29
internal/database/feed.go
Normal file
29
internal/database/feed.go
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
package database
|
||||
|
||||
type FeedType string
|
||||
|
||||
const (
|
||||
RSS FeedType = "RSS"
|
||||
)
|
||||
|
||||
type Feed struct {
|
||||
Name string
|
||||
Url string
|
||||
FeedType FeedType
|
||||
}
|
||||
|
||||
func (f Feed) Insert() (int64, error) {
|
||||
result, err := db.Exec("INSERT INTO feed (name, url, type) VALUES (?,?,?)", f.Name, f.Url, f.FeedType)
|
||||
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
|
||||
id, err := result.LastInsertId()
|
||||
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
|
||||
return id, nil
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue