feat: adding teams in PG
This commit is contained in:
@@ -1,12 +1,21 @@
|
||||
-- Create enum for skill levels
|
||||
CREATE TYPE skill_level_enum AS ENUM ('never', 'not-autonomous', 'autonomous', 'expert');
|
||||
|
||||
-- Teams table
|
||||
CREATE TABLE teams (
|
||||
id VARCHAR(50) PRIMARY KEY,
|
||||
name VARCHAR(100) NOT NULL,
|
||||
direction VARCHAR(100) NOT NULL,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- Users table
|
||||
CREATE TABLE users (
|
||||
id SERIAL PRIMARY KEY,
|
||||
first_name VARCHAR(100) NOT NULL,
|
||||
last_name VARCHAR(100) NOT NULL,
|
||||
team_id VARCHAR(50) NOT NULL,
|
||||
team_id VARCHAR(50) REFERENCES teams(id),
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
@@ -51,7 +60,19 @@ CREATE TABLE skill_evaluations (
|
||||
UNIQUE(category_evaluation_id, skill_id)
|
||||
);
|
||||
|
||||
-- Insert initial teams data
|
||||
INSERT INTO teams (id, name, direction) VALUES
|
||||
('frontend', 'Frontend', 'Engineering'),
|
||||
('backend', 'Backend', 'Engineering'),
|
||||
('devops', 'DevOps', 'Engineering'),
|
||||
('mobile', 'Mobile', 'Engineering'),
|
||||
('data', 'Data Science', 'Engineering'),
|
||||
('product', 'Product', 'Product'),
|
||||
('design', 'Design', 'Product'),
|
||||
('marketing', 'Marketing', 'Business');
|
||||
|
||||
-- Indexes for performance
|
||||
CREATE INDEX idx_teams_direction ON teams(direction);
|
||||
CREATE INDEX idx_users_team_id ON users(team_id);
|
||||
CREATE INDEX idx_user_evaluations_user_id ON user_evaluations(user_id);
|
||||
CREATE INDEX idx_category_evaluations_user_evaluation_id ON category_evaluations(user_evaluation_id);
|
||||
@@ -68,6 +89,9 @@ BEGIN
|
||||
END;
|
||||
$$ language 'plpgsql';
|
||||
|
||||
CREATE TRIGGER update_teams_updated_at BEFORE UPDATE ON teams
|
||||
FOR EACH ROW EXECUTE FUNCTION update_updated_at_column();
|
||||
|
||||
CREATE TRIGGER update_users_updated_at BEFORE UPDATE ON users
|
||||
FOR EACH ROW EXECUTE FUNCTION update_updated_at_column();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user