summaryrefslogtreecommitdiffstats
path: root/extras/database.sql
blob: fe5f957c88b21afa99685425dc5edf339837248c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";

SET time_zone = "+00:00";



CREATE TABLE `image` (

  `uuid` varchar(36) COLLATE utf8_unicode_ci NOT NULL,

  `revision` int(10) unsigned NOT NULL,

  `title` varchar(200) COLLATE utf8_unicode_ci NOT NULL,

  `path` varchar(255) COLLATE utf8_unicode_ci NOT NULL,

  `createtime` int(10) unsigned NOT NULL,

  `updatetime` int(10) unsigned NOT NULL,

  `ownerid` int(10) unsigned NOT NULL,

  `operatingsystem` varchar(20) COLLATE utf8_unicode_ci NOT NULL,

  `isvalid` tinyint(1) unsigned NOT NULL,

  `isdeleted` tinyint(1) unsigned NOT NULL,

  `description` text COLLATE utf8_unicode_ci NOT NULL,

  `filesize` bigint(20) unsigned NOT NULL,

  `missingblocks` text COLLATE utf8_unicode_ci NOT NULL,

  PRIMARY KEY (`uuid`,`revision`),

  KEY `ownerid` (`ownerid`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;



CREATE TABLE `satellite` (

  `organizationid` varchar(32) NOT NULL,

  `address` varchar(64) NOT NULL,

  `name` varchar(255) NOT NULL,

  `authmethod` varchar(255) NOT NULL,

  `publickey` text,

  PRIMARY KEY (`organizationid`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;



CREATE TABLE `satellite_suffix` (

  `organizationid` varchar(32) NOT NULL,

  `suffix` varchar(32) NOT NULL,

  PRIMARY KEY (`suffix`),

  KEY `organizationid` (`organizationid`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;



CREATE TABLE `user` (

  `userid` int(10) unsigned NOT NULL AUTO_INCREMENT,

  `login` varchar(48) DEFAULT NULL,

  `password` varchar(255) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,

  `organizationid` varchar(32) NOT NULL,

  `firstname` varchar(32) NOT NULL,

  `lastname` varchar(32) NOT NULL,

  `email` varchar(48) NOT NULL,

  PRIMARY KEY (`userid`),

  UNIQUE KEY `username` (`organizationid`,`login`)

) ENGINE=InnoDB  DEFAULT CHARSET=utf8;





ALTER TABLE `image`

  ADD CONSTRAINT `image_ibfk_1` FOREIGN KEY (`ownerid`) REFERENCES `user` (`userid`) ON UPDATE CASCADE;



ALTER TABLE `satellite_suffix`

  ADD CONSTRAINT `satellite_suffix_ibfk_1` FOREIGN KEY (`organizationid`) REFERENCES `satellite` (`organizationid`) ON UPDATE CASCADE;



ALTER TABLE `user`

  ADD CONSTRAINT `user_ibfk_1` FOREIGN KEY (`organizationid`) REFERENCES `satellite` (`organizationid`) ON UPDATE CASCADE;