LINUX.ORG.RU

История изменений

Исправление tz4678, (текущая версия) :

Там должна быть таблица типа Actions либо отдельным полем в Roles хранить список действий как массив (JSON, ARRAY) либо в виде comma-separated строки. Например:

~/work/docker-stack 
➜ docker-compose exec postgres psql -U docker             
psql (13.4)
Type "help" for help.
                                                                                                          
docker=# create table roles(id serial not null primary key, name varchar(31) unique, actions text[]);
CREATE TABLE
docker=# insert into roles (name, actions) values ('Petuh', ARRAY['love_rust', 'suck_cocks']);
INSERT 0 1
docker=# select * from roles;
 id | name  |        actions         
----+-------+------------------------
  1 | Petuh | {love_rust,suck_cocks}
(1 row)

docker=#

А у юзера уже role_id будет… Как там в моем SQL я уже не помню. И хз что ты имеешь в виду MariaDB или Percona. Меня бы насторожило, что используется никому ненужная MySQL…

А дальше тригееры всякие создаешь, в них проверяешь роли, можно ли песню послухать и тп

Исходная версия tz4678, :

Там должна быть таблица типа Actions либо отдельным полем в Roles хранить список действий как массив (JSON, ARRAY) либо в виде comma-separated строки. Например:

~/work/docker-stack 
➜ docker-compose exec postgres psql -U docker             
psql (13.4)
Type "help" for help.
                                                                                                          
docker=# create table roles(id serial not null primary key, name varchar(31) unique, actions text[]);
CREATE TABLE
docker=# insert into roles (name, actions) values ('Petuh', ARRAY['love_rust', 'suck_cocks']);
INSERT 0 1
docker=# select * from roles;
 id | name  |        actions         
----+-------+------------------------
  1 | Petuh | {love_rust,suck_cocks}
(1 row)

docker=#

А у юзера уже role_id будет… Как там в моем SQL я уже не помню. И хз что ты имеешь в виду MariaDB или Percona. Меня юы насторожило, что используется никому ненужная MySQL