Kanboard-Prod/models/schema.php

72 lines
1.7 KiB
PHP

<?php
namespace Schema;
function version_1($pdo)
{
$pdo->exec("
CREATE TABLE config (
language TEXT,
webhooks_token TEXT
)
");
$pdo->exec("
CREATE TABLE users (
id INTEGER PRIMARY KEY,
username TEXT,
password TEXT,
is_admin INTEGER DEFAULT 0,
default_project_id DEFAULT 0
)
");
$pdo->exec("
CREATE TABLE projects (
id INTEGER PRIMARY KEY,
name TEXT NOCASE UNIQUE,
is_active INTEGER DEFAULT 1
)
");
$pdo->exec("
CREATE TABLE columns (
id INTEGER PRIMARY KEY,
title TEXT,
position INTEGER,
project_id INTEGER,
FOREIGN KEY(project_id) REFERENCES projects(id) ON DELETE CASCADE,
UNIQUE (title, project_id)
)
");
$pdo->exec("
CREATE TABLE tasks (
id INTEGER PRIMARY KEY,
title TEXT,
description TEXT,
date_creation INTEGER,
color_id TEXT,
project_id INTEGER,
column_id INTEGER,
owner_id INTEGER DEFAULT '0',
position INTEGER,
is_active INTEGER DEFAULT 1,
FOREIGN KEY(project_id) REFERENCES projects(id) ON DELETE CASCADE,
FOREIGN KEY(column_id) REFERENCES columns(id) ON DELETE CASCADE
)
");
$pdo->exec("
INSERT INTO users
(username, password, is_admin)
VALUES ('admin', '".\password_hash('admin', PASSWORD_BCRYPT)."', '1')
");
$pdo->exec("
INSERT INTO config
(language, webhooks_token)
VALUES ('en_US', '".\Model\Config::generateToken()."')
");
}