diff options
Diffstat (limited to 'db.go')
-rw-r--r-- | db.go | 25 |
1 files changed, 25 insertions, 0 deletions
@@ -166,3 +166,28 @@ func SetDatabase() { // If not, create them InitDatabase(DB) } + +func TrimDatabase() { + // Ask how many messages to keep + fmt.Println("How many messages to keep?") + var num int + fmt.Scan(&num) + // Get the database + db := GetDatabase() + // Get the list of messages + msgs := GetMessagesFromDatabase(db) + // Trim the list of messages + msgs.Trim(num) + // Delete all messages from the database + _, err := db.Exec("DELETE FROM messages") + if err != nil { + fmt.Println(err) + } + // Add the trimmed list of messages to the database + msgs.Each(func(m *message.Message) { + _, err := db.Exec("INSERT INTO messages(hash, message, nonce, timestamp) VALUES(?, ?, ?, ?)", m.Stamp(), m.Message, m.Nonce, m.Timestamp) + if err != nil { + fmt.Println(err) + } + }) +} |