Add database code for storage
This commit is contained in:
parent
1dc003211a
commit
42a019b730
|
@ -0,0 +1,9 @@
|
||||||
|
package entities
|
||||||
|
|
||||||
|
type CardStorageLocation struct {
|
||||||
|
Id int
|
||||||
|
CardPrintingId string
|
||||||
|
StorageBox string
|
||||||
|
Source string
|
||||||
|
Position int
|
||||||
|
}
|
|
@ -65,3 +65,31 @@ func InsertCard(db *sql.DB, card types.Card) error {
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func InsertCardStorageLocation(db *sql.DB, cardPrintingId string, storageBox string, source string) error {
|
||||||
|
var lastPosition int
|
||||||
|
getLastPositionQuery := `SELECT Position FROM CardStorageLocation WHERE StorageBox = ? ORDER BY Position DESC LIMIT 1;`
|
||||||
|
err := db.QueryRow(query, storageBox).Scan(&lastPosition)
|
||||||
|
|
||||||
|
var nextPosition int
|
||||||
|
if err == sql.ErrNoRows {
|
||||||
|
nextPosition = 1
|
||||||
|
} else {
|
||||||
|
nextPosition = lastPosition + 1
|
||||||
|
}
|
||||||
|
|
||||||
|
insertQuery := `INSERT INTO CardStorageLocation
|
||||||
|
(CardPrintingId, StorageBox, Source, Position)
|
||||||
|
VALUES (?, ?, ?, ?);`
|
||||||
|
insert, err := db.Prepare(insertQuery)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err = insert.Exec(cardPrintingId, storageBox, source, nextPosition)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
|
@ -27,3 +27,12 @@ CREATE TABLE IF NOT EXISTS CardPrinting (
|
||||||
CollectorNumber VARCHAR(10) NOT NULL,
|
CollectorNumber VARCHAR(10) NOT NULL,
|
||||||
Language VARCHAR(3) NOT NULL
|
Language VARCHAR(3) NOT NULL
|
||||||
);
|
);
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS CardStorageLocation (
|
||||||
|
Id INT AUTO_INCREMENT PRIMARY KEY,
|
||||||
|
CardPrintingId VARCHAR(36) NOT NULL,
|
||||||
|
FOREIGN KEY (CardPrintingId) REFERENCES CardPrinting(Id),
|
||||||
|
StorageBox VARCHAR(20) NOT NULL,
|
||||||
|
Source VARCHAR(100) NULL,
|
||||||
|
Position INT NOT NULL
|
||||||
|
);
|
||||||
|
|
Loading…
Reference in New Issue