diff options
Diffstat (limited to 'app/Schema/Postgres.php')
-rw-r--r-- | app/Schema/Postgres.php | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/app/Schema/Postgres.php b/app/Schema/Postgres.php index b982bcae..2d1695d0 100644 --- a/app/Schema/Postgres.php +++ b/app/Schema/Postgres.php @@ -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) { |