From b629b237da6c7618ae7e679a2c9b879c6019662d Mon Sep 17 00:00:00 2001
From: Cara Salter <cara@devcara.com>
Date: Sun, 23 Apr 2023 15:04:34 -0400
Subject: sql: Implement bot state

Allows for persistent, dynamic storage of configuration options outside
of the config.json file.

The bot_state table is, essentially, a key-value store for config
options. There are two new prepared statements, `state` and
`update_state`:

- `state` will return the value for the provided key
- `update_state` will create the key or update an existing key
---
 migrations/0003-unique-state-key.sql | 2 ++
 1 file changed, 2 insertions(+)
 create mode 100644 migrations/0003-unique-state-key.sql

(limited to 'migrations/0003-unique-state-key.sql')

diff --git a/migrations/0003-unique-state-key.sql b/migrations/0003-unique-state-key.sql
new file mode 100644
index 0000000..1d19219
--- /dev/null
+++ b/migrations/0003-unique-state-key.sql
@@ -0,0 +1,2 @@
+ALTER TABLE bot_state DROP CONSTRAINT IF EXISTS setting_unique;
+ALTER TABLE bot_state ADD CONSTRAINT setting_unique UNIQUE (setting);
\ No newline at end of file
-- 
cgit v1.2.3

