summaryrefslogtreecommitdiff
path: root/database.go
diff options
context:
space:
mode:
authorhorus2019-04-17 12:00:48 +0200
committerhorus2019-04-17 12:00:48 +0200
commit421a7232e7f0436705b9f2819cd51227ac6cd821 (patch)
tree1692db806bcba83a57a5fcaea02796991a90c700 /database.go
parentdeea79c010ec7db7a374f23ca5cdabc6e45433db (diff)
downloadghrss-421a7232e7f0436705b9f2819cd51227ac6cd821.tar.gz
v0.1
Diffstat (limited to 'database.go')
-rw-r--r--database.go44
1 files changed, 25 insertions, 19 deletions
diff --git a/database.go b/database.go
index 7d56018..fda19f9 100644
--- a/database.go
+++ b/database.go
@@ -1,35 +1,32 @@
package main
-import (
-/*
- "database/sql"
- "fmt"
- "strings"
-*/
-)
-
func (app *App) createTables() error {
+ var err error
+
/**
* Copied from schema.sql
* TODO: Load this from the file itself.
*/
- query := `
+ queries := []string{`
CREATE TABLE IF NOT EXISTS platform (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255) UNIQUE NOT NULL,
url VARCHAR(255) UNIQUE NOT NULL
) CHARSET=utf8;
-
+ `,
+ `
CREATE TABLE IF NOT EXISTS language (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255) UNIQUE NOT NULL
) CHARSET=utf8;
-
+ `,
+ `
CREATE TABLE IF NOT EXISTS update_period (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255) UNIQUE NOT NULL
) CHARSET=utf8;
-
+ `,
+ `
CREATE TABLE IF NOT EXISTS owner (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
@@ -37,7 +34,8 @@ CREATE TABLE IF NOT EXISTS owner (
platform INT NOT NULL,
CONSTRAINT fk_owner_platform FOREIGN KEY (platform) REFERENCES platform(id)
) CHARSET=utf8;
-
+ `,
+ `
CREATE TABLE IF NOT EXISTS entry (
id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(255) NOT NULL,
@@ -54,11 +52,13 @@ CREATE TABLE IF NOT EXISTS entry (
CONSTRAINT fk_entry_language FOREIGN KEY (language) REFERENCES language(id),
CONSTRAINT fk_entry_period FOREIGN KEY (update_period) REFERENCES update_period(id)
) CHARSET=utf8;
- `
+ `}
- _, err := app.DB.Exec(query)
- if err != nil {
- return err
+ for _, query := range queries {
+ _, err := app.DB.Exec(query)
+ if err != nil {
+ return err
+ }
}
/**
@@ -141,7 +141,7 @@ func (app *App) SaveEntries(entries []Entry) error {
?,
?,
?,
- ?,
+ ?
);
`
stmt, err := app.DB.Prepare(query)
@@ -157,6 +157,12 @@ func (app *App) SaveEntries(entries []Entry) error {
if err != nil {
continue
}
+
+ // Populates the owner struct with the correct id
+ e.Owner, err = app.GetOwnerID(e.Owner)
+ if err != nil {
+ continue
+ }
_, err = stmt.Exec(e.Title, e.Synopsis, e.Owner.ID, e.Platform.ID, e.URL, e.Language.ID, e.Stars, e.UpdatePeriod.ID, app.Now)
if err != nil {
@@ -180,7 +186,7 @@ func (app *App) SaveOwner(owner Owner) error {
NULL,
?,
?,
- ?,
+ ?
);`
stmt, err := app.DB.Prepare(query)