lockserver/db/migrations/1_init.sql

36 lines
798 B
MySQL
Raw Normal View History

-- +goose Up
-- +goose StatementBegin
PRAGMA foreign_keys = ON;
CREATE TABLE locks (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
zwave_device_id INTEGER NOT NULL UNIQUE
);
CREATE TABLE lock_code_slots (
id INTEGER PRIMARY KEY,
lock INTEGER NOT NULL REFERENCES locks(id),
code TEXT NOT NULL,
slot INTEGER NOT NULL,
name TEXT NOT NULL,
enabled BOOLEAN NOT NULL DEFAULT 0,
UNIQUE (lock, slot)
);
CREATE TABLE lock_log (
lock INTEGER NOT NULL REFERENCES locks(id),
timestamp DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
state TEXT NOT NULL,
code INTEGER REFERENCES lock_code_slots(id)
);
-- +goose StatementEnd
-- +goose Down
-- +goose StatementBegin
DROP TABLE lock_log;
DROP TABLE lock_code_slots;
DROP TABLE locks;
-- +goose StatementEnd