diff --git a/database/schema.sql b/database/schema.sql index b471819..8d2796f 100644 --- a/database/schema.sql +++ b/database/schema.sql @@ -4,7 +4,7 @@ CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; -- Colors table -CREATE TABLE colors ( +CREATE TABLE IF NOT EXISTS colors ( id UUID PRIMARY KEY DEFAULT uuid_generate_v4(), name VARCHAR(100) NOT NULL UNIQUE, hex VARCHAR(7) NOT NULL, @@ -15,7 +15,7 @@ CREATE TABLE colors ( ); -- Filaments table -CREATE TABLE filaments ( +CREATE TABLE IF NOT EXISTS filaments ( id UUID PRIMARY KEY DEFAULT uuid_generate_v4(), tip VARCHAR(50) NOT NULL, finish VARCHAR(50) NOT NULL, @@ -32,9 +32,9 @@ CREATE TABLE filaments ( ); -- Create indexes for better performance -CREATE INDEX idx_filaments_tip ON filaments(tip); -CREATE INDEX idx_filaments_boja ON filaments(boja); -CREATE INDEX idx_filaments_created_at ON filaments(created_at); +CREATE INDEX IF NOT EXISTS idx_filaments_tip ON filaments(tip); +CREATE INDEX IF NOT EXISTS idx_filaments_boja ON filaments(boja); +CREATE INDEX IF NOT EXISTS idx_filaments_created_at ON filaments(created_at); -- Create updated_at trigger function CREATE OR REPLACE FUNCTION update_updated_at_column() @@ -46,10 +46,12 @@ END; $$ language 'plpgsql'; -- Apply trigger to filaments table +DROP TRIGGER IF EXISTS update_filaments_updated_at ON filaments; CREATE TRIGGER update_filaments_updated_at BEFORE UPDATE ON filaments FOR EACH ROW EXECUTE FUNCTION update_updated_at_column(); -- Apply trigger to colors table +DROP TRIGGER IF EXISTS update_colors_updated_at ON colors; CREATE TRIGGER update_colors_updated_at BEFORE UPDATE ON colors FOR EACH ROW EXECUTE FUNCTION update_updated_at_column();