21 lines
712 B
SQL
21 lines
712 B
SQL
-- +goose Up
|
|
-- +goose StatementBegin
|
|
CREATE TABLE user_roles (
|
|
user_id UUID NOT NULL,
|
|
role_id INTEGER NOT NULL,
|
|
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (user_id, role_id),
|
|
CONSTRAINT fk_user_roles_user FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
|
|
CONSTRAINT fk_user_roles_role FOREIGN KEY (role_id) REFERENCES roles(id) ON DELETE CASCADE
|
|
);
|
|
|
|
-- Create index for better query performance
|
|
CREATE INDEX idx_user_roles_user_id ON user_roles(user_id);
|
|
CREATE INDEX idx_user_roles_role_id ON user_roles(role_id);
|
|
-- +goose StatementEnd
|
|
|
|
-- +goose Down
|
|
-- +goose StatementBegin
|
|
DROP TABLE IF EXISTS user_roles CASCADE;
|
|
-- +goose StatementEnd
|