Описание изменений
This commit is contained in:
24
backend/db/migrations/002_access_roles.sql
Normal file
24
backend/db/migrations/002_access_roles.sql
Normal file
@@ -0,0 +1,24 @@
|
||||
CREATE TABLE IF NOT EXISTS roles (
|
||||
id SERIAL PRIMARY KEY,
|
||||
name VARCHAR(50) NOT NULL UNIQUE,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- Добавляем базовые роли
|
||||
INSERT INTO roles (name) VALUES ('admin'), ('user')
|
||||
ON CONFLICT (name) DO NOTHING;
|
||||
|
||||
-- Добавляем связь пользователей с ролями
|
||||
DO $$
|
||||
BEGIN
|
||||
IF NOT EXISTS (
|
||||
SELECT 1 FROM information_schema.columns
|
||||
WHERE table_name = 'users' AND column_name = 'role_id'
|
||||
) THEN
|
||||
ALTER TABLE users
|
||||
ADD COLUMN role_id INTEGER REFERENCES roles(id);
|
||||
END IF;
|
||||
END $$;
|
||||
|
||||
-- Создаем индекс для role_id после добавления колонки
|
||||
CREATE INDEX IF NOT EXISTS idx_users_role_id ON users(role_id);
|
||||
Reference in New Issue
Block a user