diff options
author | Cara Salter <cara@devcara.com> | 2023-04-23 15:04:34 -0400 |
---|---|---|
committer | Cara Salter <cara@devcara.com> | 2023-04-23 15:04:34 -0400 |
commit | b629b237da6c7618ae7e679a2c9b879c6019662d (patch) | |
tree | 2aded5e0b797e26f7774052dfedc0951d2adc4a4 /migrations | |
parent | 6c16d4315b5d97316db25b5a79ccee8fa1d4e953 (diff) | |
download | 142bot-b629b237da6c7618ae7e679a2c9b879c6019662d.tar.gz 142bot-b629b237da6c7618ae7e679a2c9b879c6019662d.zip |
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
Diffstat (limited to 'migrations')
-rw-r--r-- | migrations/0002-state.sql | 5 | ||||
-rw-r--r-- | migrations/0003-unique-state-key.sql | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/migrations/0002-state.sql b/migrations/0002-state.sql new file mode 100644 index 0000000..2465d30 --- /dev/null +++ b/migrations/0002-state.sql @@ -0,0 +1,5 @@ +CREATE TABLE IF NOT EXISTS bot_state ( + id SERIAL PRIMARY KEY, + setting TEXT NOT NULL, + value TEXT NOT NULL +);
\ No newline at end of file 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 |