Add new models ColumnMoveRestrictionModel and ProjectRoleModel

This commit is contained in:
Frederic Guillot
2016-09-07 22:40:38 -04:00
parent 102de7e386
commit dded773749
7 changed files with 417 additions and 3 deletions

View File

@@ -6,7 +6,38 @@ use PDO;
use Kanboard\Core\Security\Token;
use Kanboard\Core\Security\Role;
const VERSION = 91;
const VERSION = 92;
function version_92(PDO $pdo)
{
$pdo->exec("
CREATE TABLE project_has_roles (
role_id SERIAL PRIMARY KEY,
role VARCHAR(255) NOT NULL,
project_id INTEGER NOT NULL,
UNIQUE(project_id, role),
FOREIGN KEY(project_id) REFERENCES projects(id) ON DELETE CASCADE
)
");
$pdo->exec("
CREATE TABLE column_has_move_restrictions (
restriction_id SERIAL PRIMARY KEY,
project_id INTEGER NOT NULL,
role_id INTEGER NOT NULL,
src_column_id INTEGER NOT NULL,
dst_column_id INTEGER NOT NULL,
UNIQUE(role_id, src_column_id, dst_column_id),
FOREIGN KEY(project_id) REFERENCES projects(id) ON DELETE CASCADE,
FOREIGN KEY(role_id) REFERENCES project_has_roles(role_id) ON DELETE CASCADE,
FOREIGN KEY(src_column_id) REFERENCES columns(id) ON DELETE CASCADE,
FOREIGN KEY(dst_column_id) REFERENCES columns(id) ON DELETE CASCADE
)
");
$pdo->exec('ALTER TABLE "project_has_users" ALTER COLUMN "role" TYPE VARCHAR(255)');
$pdo->exec('ALTER TABLE "project_has_groups" ALTER COLUMN "role" TYPE VARCHAR(255)');
}
function version_91(PDO $pdo)
{