fixed databaseschema again
This commit is contained in:
@@ -35,11 +35,13 @@ CREATE TABLE IF NOT EXISTS packages (
|
|||||||
version TEXT NOT NULL,
|
version TEXT NOT NULL,
|
||||||
dependencies TEXT NOT NULL DEFAULT '',
|
dependencies TEXT NOT NULL DEFAULT '',
|
||||||
description TEXT NOT NULL,
|
description TEXT NOT NULL,
|
||||||
family TEXT NOT NULL,
|
|
||||||
package_d TEXT NOT NULL,
|
package_d TEXT NOT NULL,
|
||||||
filename TEXT NOT NULL,
|
filename TEXT NOT NULL,
|
||||||
os TEXT NOT NULL,
|
os TEXT NOT NULL,
|
||||||
arch TEXT NOT NULL,
|
arch TEXT NOT NULL,
|
||||||
in_cache INTEGER NOT NULL DEFAULT 1,
|
in_cache INTEGER NOT NULL DEFAULT 1,
|
||||||
serial INTEGER NOT NULL
|
serial INTEGER NOT NULL,
|
||||||
|
|
||||||
|
UNIQUE(query_name, version),
|
||||||
|
UNIQUE(query_name, serial)
|
||||||
);
|
);
|
||||||
@@ -20,13 +20,15 @@ const InstalledDatabaseSchema = `CREATE TABLE IF NOT EXISTS packages (
|
|||||||
version TEXT NOT NULL,
|
version TEXT NOT NULL,
|
||||||
dependencies TEXT NOT NULL DEFAULT '',
|
dependencies TEXT NOT NULL DEFAULT '',
|
||||||
description TEXT NOT NULL,
|
description TEXT NOT NULL,
|
||||||
family TEXT NOT NULL,
|
|
||||||
package_d TEXT NOT NULL,
|
package_d TEXT NOT NULL,
|
||||||
filename TEXT NOT NULL,
|
filename TEXT NOT NULL,
|
||||||
os TEXT NOT NULL,
|
os TEXT NOT NULL,
|
||||||
arch TEXT NOT NULL,
|
arch TEXT NOT NULL,
|
||||||
in_cache INTEGER NOT NULL DEFAULT 1,
|
in_cache INTEGER NOT NULL DEFAULT 1,
|
||||||
serial INTEGER NOT NULL
|
serial INTEGER NOT NULL,
|
||||||
|
|
||||||
|
UNIQUE(query_name, version),
|
||||||
|
UNIQUE(query_name, serial)
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE package_dependencies(
|
CREATE TABLE package_dependencies(
|
||||||
|
|||||||
@@ -44,7 +44,6 @@ type Package struct {
|
|||||||
|
|
||||||
Manifest configs.Manifest
|
Manifest configs.Manifest
|
||||||
|
|
||||||
Family string
|
|
||||||
Serial int
|
Serial int
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -221,13 +220,12 @@ func (p *Package) AddToInstalledDB(inCache int, packagePath string) error {
|
|||||||
_, err = db.Exec(`
|
_, err = db.Exec(`
|
||||||
INSERT INTO packages (
|
INSERT INTO packages (
|
||||||
query_name, id, version, description,
|
query_name, id, version, description,
|
||||||
family, serial, package_d, filename, os, arch, in_cache
|
serial, package_d, filename, os, arch, in_cache
|
||||||
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,
|
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,
|
||||||
p.QueryName,
|
p.QueryName,
|
||||||
p.Manifest.Info.Id,
|
p.Manifest.Info.Id,
|
||||||
p.Version,
|
p.Version,
|
||||||
p.Description,
|
p.Description,
|
||||||
p.Family,
|
|
||||||
p.Serial,
|
p.Serial,
|
||||||
packagePath,
|
packagePath,
|
||||||
p.Filename,
|
p.Filename,
|
||||||
@@ -255,7 +253,7 @@ func CheckIfPackageInstalled(name string) (bool, error) {
|
|||||||
defer db.Close()
|
defer db.Close()
|
||||||
|
|
||||||
var exists bool
|
var exists bool
|
||||||
err = db.QueryRow("SELECT EXISTS(SELECT 1 FROM packages WHERE id = ?)", name).Scan(&exists)
|
err = db.QueryRow("SELECT EXISTS(SELECT 1 FROM packages WHERE id = ? OR query_name = ?)", name, name).Scan(&exists)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
@@ -359,7 +357,7 @@ func RemoveFromInstalledDB(id string) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if _, err = db.Exec("DELETE FROM packages WHERE id = ?", id); err != nil {
|
if _, err = db.Exec("DELETE FROM packages WHERE id = ? OR query_name = ?", id, id); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -379,7 +377,7 @@ func GetPackage(id string) (Package, error) {
|
|||||||
defer db.Close()
|
defer db.Close()
|
||||||
|
|
||||||
var packageUrl string
|
var packageUrl string
|
||||||
err = db.QueryRow("SELECT query_name, version, package_url, image_url, description, author, author_verified, os, arch, signature, public_key, family, serial, size FROM packages WHERE id = ?", id).
|
err = db.QueryRow("SELECT query_name, version, package_url, image_url, description, author, author_verified, os, arch, signature, public_key, serial, size FROM packages WHERE id = ?", id).
|
||||||
Scan(
|
Scan(
|
||||||
&this.QueryName,
|
&this.QueryName,
|
||||||
&this.Version,
|
&this.Version,
|
||||||
@@ -392,7 +390,6 @@ func GetPackage(id string) (Package, error) {
|
|||||||
&this.Arch,
|
&this.Arch,
|
||||||
&this.Signature,
|
&this.Signature,
|
||||||
&this.PublicKey,
|
&this.PublicKey,
|
||||||
&this.Family,
|
|
||||||
&this.Serial,
|
&this.Serial,
|
||||||
&this.Size,
|
&this.Size,
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user