Remove decorative icons and update CORS configuration
This commit is contained in:
68
database/schema.sql
Normal file
68
database/schema.sql
Normal file
@@ -0,0 +1,68 @@
|
||||
-- Filamenteka PostgreSQL Schema
|
||||
|
||||
-- Enable UUID extension
|
||||
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
|
||||
|
||||
-- Colors table
|
||||
CREATE TABLE colors (
|
||||
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
|
||||
name VARCHAR(100) NOT NULL UNIQUE,
|
||||
hex VARCHAR(7) NOT NULL,
|
||||
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- Filaments table
|
||||
CREATE TABLE filaments (
|
||||
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
|
||||
brand VARCHAR(100) NOT NULL,
|
||||
tip VARCHAR(50) NOT NULL,
|
||||
finish VARCHAR(50) NOT NULL,
|
||||
boja VARCHAR(100) NOT NULL,
|
||||
boja_hex VARCHAR(7),
|
||||
refill VARCHAR(10),
|
||||
vakum VARCHAR(20),
|
||||
otvoreno VARCHAR(20),
|
||||
kolicina INTEGER DEFAULT 1,
|
||||
cena VARCHAR(50),
|
||||
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT fk_color FOREIGN KEY (boja) REFERENCES colors(name) ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
-- Create indexes for better performance
|
||||
CREATE INDEX idx_filaments_brand ON filaments(brand);
|
||||
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 updated_at trigger function
|
||||
CREATE OR REPLACE FUNCTION update_updated_at_column()
|
||||
RETURNS TRIGGER AS $$
|
||||
BEGIN
|
||||
NEW.updated_at = CURRENT_TIMESTAMP;
|
||||
RETURN NEW;
|
||||
END;
|
||||
$$ language 'plpgsql';
|
||||
|
||||
-- Apply trigger to filaments table
|
||||
CREATE TRIGGER update_filaments_updated_at BEFORE UPDATE
|
||||
ON filaments FOR EACH ROW EXECUTE FUNCTION update_updated_at_column();
|
||||
|
||||
-- Apply trigger to colors table
|
||||
CREATE TRIGGER update_colors_updated_at BEFORE UPDATE
|
||||
ON colors FOR EACH ROW EXECUTE FUNCTION update_updated_at_column();
|
||||
|
||||
-- Insert default colors from legacy data
|
||||
INSERT INTO colors (name, hex) VALUES
|
||||
('Crna', '#000000'),
|
||||
('Bela', '#FFFFFF'),
|
||||
('Plava', '#0000FF'),
|
||||
('Crvena', '#FF0000'),
|
||||
('Zelena', '#00FF00'),
|
||||
('Žuta', '#FFFF00'),
|
||||
('Narandžasta', '#FFA500'),
|
||||
('Ljubičasta', '#800080'),
|
||||
('Siva', '#808080'),
|
||||
('Braon', '#A52A2A')
|
||||
ON CONFLICT (name) DO NOTHING;
|
||||
Reference in New Issue
Block a user