summaryrefslogtreecommitdiff
path: root/app/Schema
diff options
context:
space:
mode:
Diffstat (limited to 'app/Schema')
-rw-r--r--app/Schema/Migration.php7
-rw-r--r--app/Schema/Mysql.php29
-rw-r--r--app/Schema/Postgres.php28
-rw-r--r--app/Schema/Sql/mysql.sql5
-rw-r--r--app/Schema/Sql/postgres.sql9
-rw-r--r--app/Schema/Sqlite.php52
6 files changed, 120 insertions, 10 deletions
diff --git a/app/Schema/Migration.php b/app/Schema/Migration.php
index 654303f4..21ef4427 100644
--- a/app/Schema/Migration.php
+++ b/app/Schema/Migration.php
@@ -13,6 +13,13 @@ function migrate_default_swimlane(PDO $pdo)
$project['default_swimlane'] = 'Default swimlane';
}
+ $rq = $pdo->prepare('SELECT 1 FROM swimlanes WHERE name=? AND project_id=?');
+ $rq->execute(array($project['default_swimlane'], $project['id']));
+
+ if ($rq->fetchColumn()) {
+ $project['default_swimlane'] = $project['default_swimlane'].' (Default swimlane)';
+ }
+
// Create new default swimlane
$rq = $pdo->prepare('INSERT INTO swimlanes (project_id, name, is_active, position) VALUES (?, ?, ?, ?)');
$rq->execute(array(
diff --git a/app/Schema/Mysql.php b/app/Schema/Mysql.php
index 385f63a3..5709b86d 100644
--- a/app/Schema/Mysql.php
+++ b/app/Schema/Mysql.php
@@ -8,7 +8,34 @@ use PDO;
use Kanboard\Core\Security\Token;
use Kanboard\Core\Security\Role;
-const VERSION = 122;
+const VERSION = 126;
+
+function version_126(PDO $pdo)
+{
+ $pdo->exec('CREATE TABLE predefined_task_descriptions (
+ id INT NOT NULL AUTO_INCREMENT,
+ project_id INT NOT NULL,
+ title TEXT NOT NULL,
+ description TEXT NOT NULL,
+ FOREIGN KEY(project_id) REFERENCES projects(id) ON DELETE CASCADE,
+ PRIMARY KEY(id)
+ ) ENGINE=InnoDB CHARSET=utf8');
+}
+
+function version_125(PDO $pdo)
+{
+ $pdo->exec('ALTER TABLE projects DROP COLUMN is_everybody_allowed');
+}
+
+function version_124(PDO $pdo)
+{
+ $pdo->exec('ALTER TABLE projects ADD COLUMN predefined_email_subjects TEXT');
+}
+
+function version_123(PDO $pdo)
+{
+ $pdo->exec('ALTER TABLE column_has_move_restrictions ADD COLUMN only_assigned TINYINT(1) DEFAULT 0');
+}
function version_122(PDO $pdo)
{
diff --git a/app/Schema/Postgres.php b/app/Schema/Postgres.php
index cc3d9632..bf9acaa7 100644
--- a/app/Schema/Postgres.php
+++ b/app/Schema/Postgres.php
@@ -8,7 +8,33 @@ use PDO;
use Kanboard\Core\Security\Token;
use Kanboard\Core\Security\Role;
-const VERSION = 101;
+const VERSION = 105;
+
+function version_105(PDO $pdo)
+{
+ $pdo->exec('CREATE TABLE predefined_task_descriptions (
+ id SERIAL PRIMARY KEY,
+ project_id INTEGER NOT NULL,
+ title TEXT NOT NULL,
+ description TEXT NOT NULL,
+ FOREIGN KEY(project_id) REFERENCES projects(id) ON DELETE CASCADE
+ )');
+}
+
+function version_104(PDO $pdo)
+{
+ $pdo->exec('ALTER TABLE projects DROP COLUMN is_everybody_allowed');
+}
+
+function version_103(PDO $pdo)
+{
+ $pdo->exec('ALTER TABLE projects ADD COLUMN predefined_email_subjects TEXT');
+}
+
+function version_102(PDO $pdo)
+{
+ $pdo->exec('ALTER TABLE column_has_move_restrictions ADD COLUMN only_assigned BOOLEAN DEFAULT FALSE');
+}
function version_101(PDO $pdo)
{
diff --git a/app/Schema/Sql/mysql.sql b/app/Schema/Sql/mysql.sql
index d861823a..08e9b365 100644
--- a/app/Schema/Sql/mysql.sql
+++ b/app/Schema/Sql/mysql.sql
@@ -44,6 +44,7 @@ CREATE TABLE `column_has_move_restrictions` (
`role_id` int(11) NOT NULL,
`src_column_id` int(11) NOT NULL,
`dst_column_id` int(11) NOT NULL,
+ `only_assigned` tinyint(1) DEFAULT '0',
PRIMARY KEY (`restriction_id`),
UNIQUE KEY `role_id` (`role_id`,`src_column_id`,`dst_column_id`),
KEY `project_id` (`project_id`),
@@ -751,7 +752,7 @@ CREATE TABLE `users` (
LOCK TABLES `settings` WRITE;
/*!40000 ALTER TABLE `settings` DISABLE KEYS */;
-INSERT INTO `settings` VALUES ('api_token','af0d1f150c4f64ad61dcfdd28d5544c767656994c05bce919ca4c78ab704',0,0),('application_currency','USD',0,0),('application_date_format','m/d/Y',0,0),('application_language','en_US',0,0),('application_stylesheet','',0,0),('application_timezone','UTC',0,0),('application_url','',0,0),('board_columns','',0,0),('board_highlight_period','172800',0,0),('board_private_refresh_interval','10',0,0),('board_public_refresh_interval','60',0,0),('calendar_project_tasks','date_started',0,0),('calendar_user_subtasks_time_tracking','0',0,0),('calendar_user_tasks','date_started',0,0),('cfd_include_closed_tasks','1',0,0),('default_color','yellow',0,0),('integration_gravatar','0',0,0),('password_reset','1',0,0),('project_categories','',0,0),('subtask_restriction','0',0,0),('subtask_time_tracking','1',0,0),('webhook_token','9dc22b7faf57e4a9978c7ee30ce7ff85763fe3ebe5d595967a283610a321',0,0),('webhook_url','',0,0);
+INSERT INTO `settings` VALUES ('api_token','7b7306fb38aa10046043df6e9631f51193ef58dc14b0b62836d00b2bb03e',0,0),('application_currency','USD',0,0),('application_date_format','m/d/Y',0,0),('application_language','en_US',0,0),('application_stylesheet','',0,0),('application_timezone','UTC',0,0),('application_url','',0,0),('board_columns','',0,0),('board_highlight_period','172800',0,0),('board_private_refresh_interval','10',0,0),('board_public_refresh_interval','60',0,0),('calendar_project_tasks','date_started',0,0),('calendar_user_subtasks_time_tracking','0',0,0),('calendar_user_tasks','date_started',0,0),('cfd_include_closed_tasks','1',0,0),('default_color','yellow',0,0),('integration_gravatar','0',0,0),('password_reset','1',0,0),('project_categories','',0,0),('subtask_restriction','0',0,0),('subtask_time_tracking','1',0,0),('webhook_token','384d5b69ffd7315f2cf1eef2c170b5ed0dbf6d2a2e63462e39dca5d24db2',0,0),('webhook_url','',0,0);
/*!40000 ALTER TABLE `settings` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
@@ -780,4 +781,4 @@ UNLOCK TABLES;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-INSERT INTO users (username, password, role) VALUES ('admin', '$2y$10$rArU1OPUgo7QhObLvFaq1.d7FlIaC4XEsBBWLxIfifNJapk9h71uO', 'app-admin');INSERT INTO schema_version VALUES ('122');
+INSERT INTO users (username, password, role) VALUES ('admin', '$2y$10$0WR8YPAwOCrDQTRFjji6u.krMgA4PcVsmw3ypmXAkqFKFLwnFOpAG', 'app-admin');INSERT INTO schema_version VALUES ('123');
diff --git a/app/Schema/Sql/postgres.sql b/app/Schema/Sql/postgres.sql
index c4310963..52ba11cb 100644
--- a/app/Schema/Sql/postgres.sql
+++ b/app/Schema/Sql/postgres.sql
@@ -97,7 +97,8 @@ CREATE TABLE "column_has_move_restrictions" (
"project_id" integer NOT NULL,
"role_id" integer NOT NULL,
"src_column_id" integer NOT NULL,
- "dst_column_id" integer NOT NULL
+ "dst_column_id" integer NOT NULL,
+ "only_assigned" boolean DEFAULT false
);
@@ -2570,8 +2571,8 @@ INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('board_high
INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('board_public_refresh_interval', '60', 0, 0);
INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('board_private_refresh_interval', '10', 0, 0);
INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('board_columns', '', 0, 0);
-INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('webhook_token', 'eb478afd6da3ca2b1bda2e5ef2b47d83f0ebdeef5cdebc02e01d5b568835', 0, 0);
-INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('api_token', '32cf0d4f136c1adffb9475b9a4c910f3231dcac5c44777eb467f0e714e51', 0, 0);
+INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('webhook_token', 'd5afda7f7444f8600138b276ae9a3d1e36781c3111ed35a55fc1a3ca3ff5', 0, 0);
+INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('api_token', '8814fa59e03411e82772826d166f5cf444324efefcf334ae64b4921d53f3', 0, 0);
INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('application_language', 'en_US', 0, 0);
INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('application_timezone', 'UTC', 0, 0);
INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('application_url', '', 0, 0);
@@ -2640,4 +2641,4 @@ SELECT pg_catalog.setval('links_id_seq', 11, true);
-- PostgreSQL database dump complete
--
-INSERT INTO users (username, password, role) VALUES ('admin', '$2y$10$rArU1OPUgo7QhObLvFaq1.d7FlIaC4XEsBBWLxIfifNJapk9h71uO', 'app-admin');INSERT INTO schema_version VALUES ('101');
+INSERT INTO users (username, password, role) VALUES ('admin', '$2y$10$0WR8YPAwOCrDQTRFjji6u.krMgA4PcVsmw3ypmXAkqFKFLwnFOpAG', 'app-admin');INSERT INTO schema_version VALUES ('102');
diff --git a/app/Schema/Sqlite.php b/app/Schema/Sqlite.php
index 2d35b99e..70d13b98 100644
--- a/app/Schema/Sqlite.php
+++ b/app/Schema/Sqlite.php
@@ -8,7 +8,55 @@ use Kanboard\Core\Security\Token;
use Kanboard\Core\Security\Role;
use PDO;
-const VERSION = 112;
+const VERSION = 116;
+
+function version_116(PDO $pdo)
+{
+ $pdo->exec('CREATE TABLE predefined_task_descriptions (
+ id INTEGER PRIMARY KEY,
+ project_id INTEGER NOT NULL,
+ title TEXT NOT NULL,
+ description TEXT NOT NULL,
+ FOREIGN KEY(project_id) REFERENCES projects(id) ON DELETE CASCADE
+ )');
+}
+
+function version_115(PDO $pdo)
+{
+ $pdo->exec('ALTER TABLE projects ADD COLUMN predefined_email_subjects TEXT');
+}
+
+function version_114(PDO $pdo)
+{
+ $pdo->exec('ALTER TABLE column_has_move_restrictions ADD COLUMN only_assigned INTEGER DEFAULT 0');
+}
+
+function version_113(PDO $pdo)
+{
+ $pdo->exec(
+ 'ALTER TABLE project_activities RENAME TO project_activities_bak'
+ );
+ $pdo->exec("
+ CREATE TABLE project_activities (
+ id INTEGER PRIMARY KEY,
+ date_creation INTEGER NOT NULL,
+ event_name TEXT NOT NULL,
+ creator_id INTEGER NOT NULL,
+ project_id INTEGER NOT NULL,
+ task_id INTEGER NOT NULL,
+ data TEXT,
+ FOREIGN KEY(creator_id) REFERENCES users(id) ON DELETE CASCADE,
+ FOREIGN KEY(project_id) REFERENCES projects(id) ON DELETE CASCADE,
+ FOREIGN KEY(task_id) REFERENCES tasks(id) ON DELETE CASCADE
+ )
+ ");
+ $pdo->exec(
+ 'INSERT INTO project_activities SELECT * FROM project_activities_bak'
+ );
+ $pdo->exec(
+ 'DROP TABLE project_activities_bak'
+ );
+}
function version_112(PDO $pdo)
{
@@ -951,7 +999,7 @@ function version_33(PDO $pdo)
id INTEGER PRIMARY KEY,
date_creation INTEGER NOT NULL,
event_name TEXT NOT NULL,
- creator_id INTEGE NOT NULL,
+ creator_id INTEGER NOT NULL,
project_id INTEGER NOT NULL,
task_id INTEGER NOT NULL,
data TEXT,