1
|
# encoding: UTF-8
|
2
|
# This file is auto-generated from the current state of the database. Instead
|
3
|
# of editing this file, please use the migrations feature of Active Record to
|
4
|
# incrementally modify your database, and then regenerate this schema definition.
|
5
|
#
|
6
|
# Note that this schema.rb definition is the authoritative source for your
|
7
|
# database schema. If you need to create the application database on another
|
8
|
# system, you should be using db:schema:load, not running all the migrations
|
9
|
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
|
10
|
# you'll amass, the slower it'll run and the greater likelihood for issues).
|
11
|
#
|
12
|
# It's strongly recommended that you check this file into your version control system.
|
13
|
|
14
|
ActiveRecord::Schema.define(version: 6) do
|
15
|
|
16
|
create_table "attachments", force: :cascade do |t|
|
17
|
t.integer "container_id", limit: 4, default: 0, null: false
|
18
|
t.string "container_type", limit: 30, default: "", null: false
|
19
|
t.string "filename", limit: 255, default: "", null: false
|
20
|
t.string "disk_filename", limit: 255, default: "", null: false
|
21
|
t.integer "filesize", limit: 4, default: 0, null: false
|
22
|
t.string "content_type", limit: 60, default: ""
|
23
|
t.string "digest", limit: 40, default: "", null: false
|
24
|
t.integer "downloads", limit: 4, default: 0, null: false
|
25
|
t.integer "author_id", limit: 4, default: 0, null: false
|
26
|
t.datetime "created_on"
|
27
|
end
|
28
|
|
29
|
create_table "auth_sources", force: :cascade do |t|
|
30
|
t.string "type", limit: 30, default: "", null: false
|
31
|
t.string "name", limit: 60, default: "", null: false
|
32
|
t.string "host", limit: 60
|
33
|
t.integer "port", limit: 4
|
34
|
t.string "account", limit: 60
|
35
|
t.string "account_password", limit: 60
|
36
|
t.string "base_dn", limit: 255
|
37
|
t.string "attr_login", limit: 30
|
38
|
t.string "attr_firstname", limit: 30
|
39
|
t.string "attr_lastname", limit: 30
|
40
|
t.string "attr_mail", limit: 30
|
41
|
t.boolean "onthefly_register", limit: 1, default: false, null: false
|
42
|
end
|
43
|
|
44
|
create_table "custom_fields", force: :cascade do |t|
|
45
|
t.string "type", limit: 30, default: "", null: false
|
46
|
t.string "name", limit: 30, default: "", null: false
|
47
|
t.string "field_format", limit: 30, default: "", null: false
|
48
|
t.text "possible_values", limit: 65535
|
49
|
t.string "regexp", limit: 255, default: ""
|
50
|
t.integer "min_length", limit: 4, default: 0, null: false
|
51
|
t.integer "max_length", limit: 4, default: 0, null: false
|
52
|
t.boolean "is_required", limit: 1, default: false, null: false
|
53
|
t.boolean "is_for_all", limit: 1, default: false, null: false
|
54
|
end
|
55
|
|
56
|
create_table "custom_fields_projects", id: false, force: :cascade do |t|
|
57
|
t.integer "custom_field_id", limit: 4, default: 0, null: false
|
58
|
t.integer "project_id", limit: 4, default: 0, null: false
|
59
|
end
|
60
|
|
61
|
create_table "custom_fields_trackers", id: false, force: :cascade do |t|
|
62
|
t.integer "custom_field_id", limit: 4, default: 0, null: false
|
63
|
t.integer "tracker_id", limit: 4, default: 0, null: false
|
64
|
end
|
65
|
|
66
|
create_table "custom_values", force: :cascade do |t|
|
67
|
t.string "customized_type", limit: 30, default: "", null: false
|
68
|
t.integer "customized_id", limit: 4, default: 0, null: false
|
69
|
t.integer "custom_field_id", limit: 4, default: 0, null: false
|
70
|
t.text "value", limit: 65535
|
71
|
end
|
72
|
|
73
|
create_table "documents", force: :cascade do |t|
|
74
|
t.integer "project_id", limit: 4, default: 0, null: false
|
75
|
t.integer "category_id", limit: 4, default: 0, null: false
|
76
|
t.string "title", limit: 60, default: "", null: false
|
77
|
t.text "description", limit: 65535
|
78
|
t.datetime "created_on"
|
79
|
end
|
80
|
|
81
|
add_index "documents", ["project_id"], name: "documents_project_id", using: :btree
|
82
|
|
83
|
create_table "enumerations", force: :cascade do |t|
|
84
|
t.string "opt", limit: 4, default: "", null: false
|
85
|
t.string "name", limit: 30, default: "", null: false
|
86
|
end
|
87
|
|
88
|
create_table "issue_categories", force: :cascade do |t|
|
89
|
t.integer "project_id", limit: 4, default: 0, null: false
|
90
|
t.string "name", limit: 30, default: "", null: false
|
91
|
end
|
92
|
|
93
|
add_index "issue_categories", ["project_id"], name: "issue_categories_project_id", using: :btree
|
94
|
|
95
|
create_table "issue_histories", force: :cascade do |t|
|
96
|
t.integer "issue_id", limit: 4, default: 0, null: false
|
97
|
t.integer "status_id", limit: 4, default: 0, null: false
|
98
|
t.integer "author_id", limit: 4, default: 0, null: false
|
99
|
t.text "notes", limit: 65535
|
100
|
t.datetime "created_on"
|
101
|
end
|
102
|
|
103
|
add_index "issue_histories", ["issue_id"], name: "issue_histories_issue_id", using: :btree
|
104
|
|
105
|
create_table "issue_statuses", force: :cascade do |t|
|
106
|
t.string "name", limit: 30, default: "", null: false
|
107
|
t.boolean "is_closed", limit: 1, default: false, null: false
|
108
|
t.boolean "is_default", limit: 1, default: false, null: false
|
109
|
t.string "html_color", limit: 6, default: "FFFFFF", null: false
|
110
|
end
|
111
|
|
112
|
create_table "issues", force: :cascade do |t|
|
113
|
t.integer "tracker_id", limit: 4, default: 0, null: false
|
114
|
t.integer "project_id", limit: 4, default: 0, null: false
|
115
|
t.string "subject", limit: 255, default: "", null: false
|
116
|
t.text "description", limit: 65535
|
117
|
t.date "due_date"
|
118
|
t.integer "category_id", limit: 4
|
119
|
t.integer "status_id", limit: 4, default: 0, null: false
|
120
|
t.integer "assigned_to_id", limit: 4
|
121
|
t.integer "priority_id", limit: 4, default: 0, null: false
|
122
|
t.integer "fixed_version_id", limit: 4
|
123
|
t.integer "author_id", limit: 4, default: 0, null: false
|
124
|
t.integer "lock_version", limit: 4, default: 0, null: false
|
125
|
t.datetime "created_on"
|
126
|
t.datetime "updated_on"
|
127
|
t.date "start_date"
|
128
|
t.integer "done_ratio", limit: 4, default: 0, null: false
|
129
|
end
|
130
|
|
131
|
add_index "issues", ["project_id"], name: "issues_project_id", using: :btree
|
132
|
|
133
|
create_table "members", force: :cascade do |t|
|
134
|
t.integer "user_id", limit: 4, default: 0, null: false
|
135
|
t.integer "project_id", limit: 4, default: 0, null: false
|
136
|
t.integer "role_id", limit: 4, default: 0, null: false
|
137
|
t.datetime "created_on"
|
138
|
end
|
139
|
|
140
|
create_table "news", force: :cascade do |t|
|
141
|
t.integer "project_id", limit: 4
|
142
|
t.string "title", limit: 60, default: "", null: false
|
143
|
t.string "summary", limit: 255, default: ""
|
144
|
t.text "description", limit: 65535
|
145
|
t.integer "author_id", limit: 4, default: 0, null: false
|
146
|
t.datetime "created_on"
|
147
|
end
|
148
|
|
149
|
add_index "news", ["project_id"], name: "news_project_id", using: :btree
|
150
|
|
151
|
create_table "permissions", force: :cascade do |t|
|
152
|
t.string "controller", limit: 30, default: "", null: false
|
153
|
t.string "action", limit: 30, default: "", null: false
|
154
|
t.string "description", limit: 60, default: "", null: false
|
155
|
t.boolean "is_public", limit: 1, default: false, null: false
|
156
|
t.integer "sort", limit: 4, default: 0, null: false
|
157
|
t.boolean "mail_option", limit: 1, default: false, null: false
|
158
|
t.boolean "mail_enabled", limit: 1, default: false, null: false
|
159
|
end
|
160
|
|
161
|
create_table "permissions_roles", id: false, force: :cascade do |t|
|
162
|
t.integer "permission_id", limit: 4, default: 0, null: false
|
163
|
t.integer "role_id", limit: 4, default: 0, null: false
|
164
|
end
|
165
|
|
166
|
add_index "permissions_roles", ["role_id"], name: "permissions_roles_role_id", using: :btree
|
167
|
|
168
|
create_table "projects", force: :cascade do |t|
|
169
|
t.string "name", limit: 30, default: "", null: false
|
170
|
t.string "description", limit: 255, default: "", null: false
|
171
|
t.string "homepage", limit: 60, default: ""
|
172
|
t.boolean "is_public", limit: 1, default: true, null: false
|
173
|
t.integer "parent_id", limit: 4
|
174
|
t.integer "projects_count", limit: 4, default: 0
|
175
|
t.datetime "created_on"
|
176
|
t.datetime "updated_on"
|
177
|
end
|
178
|
|
179
|
create_table "roles", force: :cascade do |t|
|
180
|
t.string "name", limit: 30, default: "", null: false
|
181
|
end
|
182
|
|
183
|
create_table "tokens", force: :cascade do |t|
|
184
|
t.integer "user_id", limit: 4, default: 0, null: false
|
185
|
t.string "action", limit: 30, default: "", null: false
|
186
|
t.string "value", limit: 40, default: "", null: false
|
187
|
t.datetime "created_on", null: false
|
188
|
end
|
189
|
|
190
|
create_table "trackers", force: :cascade do |t|
|
191
|
t.string "name", limit: 30, default: "", null: false
|
192
|
t.boolean "is_in_chlog", limit: 1, default: false, null: false
|
193
|
end
|
194
|
|
195
|
create_table "users", force: :cascade do |t|
|
196
|
t.string "login", limit: 30, default: "", null: false
|
197
|
t.string "hashed_password", limit: 40, default: "", null: false
|
198
|
t.string "firstname", limit: 30, default: "", null: false
|
199
|
t.string "lastname", limit: 30, default: "", null: false
|
200
|
t.string "mail", limit: 60, default: "", null: false
|
201
|
t.boolean "mail_notification", limit: 1, default: true, null: false
|
202
|
t.boolean "admin", limit: 1, default: false, null: false
|
203
|
t.integer "status", limit: 4, default: 1, null: false
|
204
|
t.datetime "last_login_on"
|
205
|
t.string "language", limit: 2, default: ""
|
206
|
t.integer "auth_source_id", limit: 4
|
207
|
t.datetime "created_on"
|
208
|
t.datetime "updated_on"
|
209
|
end
|
210
|
|
211
|
create_table "versions", force: :cascade do |t|
|
212
|
t.integer "project_id", limit: 4, default: 0, null: false
|
213
|
t.string "name", limit: 30, default: "", null: false
|
214
|
t.string "description", limit: 255, default: ""
|
215
|
t.date "effective_date"
|
216
|
t.datetime "created_on"
|
217
|
t.datetime "updated_on"
|
218
|
end
|
219
|
|
220
|
add_index "versions", ["project_id"], name: "versions_project_id", using: :btree
|
221
|
|
222
|
create_table "workflows", force: :cascade do |t|
|
223
|
t.integer "tracker_id", limit: 4, default: 0, null: false
|
224
|
t.integer "old_status_id", limit: 4, default: 0, null: false
|
225
|
t.integer "new_status_id", limit: 4, default: 0, null: false
|
226
|
t.integer "role_id", limit: 4, default: 0, null: false
|
227
|
end
|
228
|
|
229
|
end
|