ref: up
This commit is contained in:
37
fission-python/template/migrates/schema.sql
Normal file
37
fission-python/template/migrates/schema.sql
Normal file
@@ -0,0 +1,37 @@
|
||||
-- Migration: 001_initial_schema.sql
|
||||
-- Description: Initial database schema with example items table
|
||||
-- To customize: Rename tables/columns and add your own migrations
|
||||
|
||||
-- Create items table (example)
|
||||
CREATE TABLE IF NOT EXISTS items (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
name VARCHAR(255) NOT NULL,
|
||||
description TEXT,
|
||||
status VARCHAR(50) NOT NULL DEFAULT 'active',
|
||||
metadata JSONB,
|
||||
created TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
modified TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- Create index on status for faster filtering
|
||||
CREATE INDEX IF NOT EXISTS idx_items_status ON items(status);
|
||||
|
||||
-- Create index on created for sorting
|
||||
CREATE INDEX IF NOT EXISTS idx_items_created ON items(created);
|
||||
|
||||
-- Optional: Trigger to auto-update modified timestamp
|
||||
CREATE OR REPLACE FUNCTION update_modified_column()
|
||||
RETURNS TRIGGER AS $$
|
||||
BEGIN
|
||||
NEW.modified = NOW();
|
||||
RETURN NEW;
|
||||
END;
|
||||
$$ language 'plpgsql';
|
||||
|
||||
CREATE OR REPLACE TRIGGER update_items_modtime
|
||||
BEFORE UPDATE ON items
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_modified_column();
|
||||
|
||||
-- Add table comment
|
||||
COMMENT ON TABLE items IS 'Example items table - replace with your own schema';
|
||||
Reference in New Issue
Block a user