Add updated_at to pages

This commit is contained in:
2024-03-03 20:39:23 +11:00
parent 413f2e2b3e
commit 4277bde352
3 changed files with 43 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
# frozen_string_literal: true
ROM::SQL.migration do
up do
execute <<-SQL
CREATE OR REPLACE FUNCTION update_updated_at_column()
RETURNS TRIGGER AS $$
BEGIN
NEW.updated_at = (now() at time zone 'utc');
RETURN NEW;
END;
$$ language 'plpgsql';
SQL
alter_table :pages do
add_column :updated_at, :timestamp
end
run <<-SQL
CREATE TRIGGER update_pages_updated_at BEFORE UPDATE
ON pages FOR EACH ROW EXECUTE PROCEDURE
update_updated_at_column();
SQL
end
down do
execute("DROP FUNCTION IF EXISTS update_updated_at_column();")
run <<-SQL
DROP TRIGGER IF EXISTS update_pages_updated_at ON pages;
SQL
alter_table :pages do
drop_column :updated_at
end
end
end