unleash-server
Version:
Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.
40 lines (36 loc) • 1.42 kB
JavaScript
;
exports.up = (db, callback) => {
db.runSql(`
ALTER TABLE users ADD COLUMN updated_at timestamptz NOT NULL DEFAULT now();
-- Backfill existing rows using max(created_at, deleted_at)
UPDATE users
SET updated_at = COALESCE(
GREATEST(created_at, deleted_at),
created_at,
now()
);
CREATE OR REPLACE FUNCTION set_users_updated_at()
RETURNS trigger AS $unleash_user_updated_at_fn$
BEGIN
NEW.updated_at := now();
RETURN NEW;
END;
$unleash_user_updated_at_fn$ LANGUAGE plpgsql;
CREATE TRIGGER trg_set_users_updated_at
BEFORE UPDATE ON users
FOR EACH ROW
EXECUTE FUNCTION set_users_updated_at();
-- create an index only for non-system and non-service users
CREATE INDEX idx_users_only_updated_at_desc ON users (updated_at DESC)
WHERE is_system = false AND is_service = false;
`, callback);
};
exports.down = (db, callback) => {
db.runSql(`
DROP INDEX IF EXISTS idx_users_only_updated_at_desc;
DROP TRIGGER IF EXISTS trg_set_users_updated_at ON users;
DROP FUNCTION IF EXISTS set_users_updated_at();
ALTER TABLE users DROP COLUMN IF EXISTS updated_at;
`, callback);
};
//# sourceMappingURL=20250923130348-add-users-updated-at.js.map