annotate db/migrate/001_setup.rb @ 45:65d9e2cabaa3 luisf

Added tipoftheday to the config/settings in order to correct previous issues. Tip of the day is now working correctly. Added the heading strings to the locales files.
author luisf
date Tue, 23 Nov 2010 11:50:01 +0000
parents 513646585e45
children cbb26bc654de
rev   line source
Chris@0 1 # redMine - project management software
Chris@0 2 # Copyright (C) 2006 Jean-Philippe Lang
Chris@0 3 #
Chris@0 4 # This program is free software; you can redistribute it and/or
Chris@0 5 # modify it under the terms of the GNU General Public License
Chris@0 6 # as published by the Free Software Foundation; either version 2
Chris@0 7 # of the License, or (at your option) any later version.
Chris@0 8 #
Chris@0 9 # This program is distributed in the hope that it will be useful,
Chris@0 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
Chris@0 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
Chris@0 12 # GNU General Public License for more details.
Chris@0 13 #
Chris@0 14 # You should have received a copy of the GNU General Public License
Chris@0 15 # along with this program; if not, write to the Free Software
Chris@0 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Chris@0 17
Chris@0 18 class Setup < ActiveRecord::Migration
Chris@0 19
Chris@0 20 class User < ActiveRecord::Base; end
Chris@0 21 # model removed
Chris@0 22 class Permission < ActiveRecord::Base; end
Chris@0 23
Chris@0 24 def self.up
Chris@0 25 create_table "attachments", :force => true do |t|
Chris@0 26 t.column "container_id", :integer, :default => 0, :null => false
Chris@0 27 t.column "container_type", :string, :limit => 30, :default => "", :null => false
Chris@0 28 t.column "filename", :string, :default => "", :null => false
Chris@0 29 t.column "disk_filename", :string, :default => "", :null => false
Chris@0 30 t.column "filesize", :integer, :default => 0, :null => false
Chris@0 31 t.column "content_type", :string, :limit => 60, :default => ""
Chris@0 32 t.column "digest", :string, :limit => 40, :default => "", :null => false
Chris@0 33 t.column "downloads", :integer, :default => 0, :null => false
Chris@0 34 t.column "author_id", :integer, :default => 0, :null => false
Chris@0 35 t.column "created_on", :timestamp
Chris@0 36 end
Chris@0 37
Chris@0 38 create_table "auth_sources", :force => true do |t|
Chris@0 39 t.column "type", :string, :limit => 30, :default => "", :null => false
Chris@0 40 t.column "name", :string, :limit => 60, :default => "", :null => false
Chris@0 41 t.column "host", :string, :limit => 60
Chris@0 42 t.column "port", :integer
Chris@0 43 t.column "account", :string, :limit => 60
Chris@0 44 t.column "account_password", :string, :limit => 60
Chris@0 45 t.column "base_dn", :string, :limit => 255
Chris@0 46 t.column "attr_login", :string, :limit => 30
Chris@0 47 t.column "attr_firstname", :string, :limit => 30
Chris@0 48 t.column "attr_lastname", :string, :limit => 30
Chris@0 49 t.column "attr_mail", :string, :limit => 30
Chris@0 50 t.column "onthefly_register", :boolean, :default => false, :null => false
Chris@0 51 end
Chris@0 52
Chris@0 53 create_table "custom_fields", :force => true do |t|
Chris@0 54 t.column "type", :string, :limit => 30, :default => "", :null => false
Chris@0 55 t.column "name", :string, :limit => 30, :default => "", :null => false
Chris@0 56 t.column "field_format", :string, :limit => 30, :default => "", :null => false
Chris@0 57 t.column "possible_values", :text
Chris@0 58 t.column "regexp", :string, :default => ""
Chris@0 59 t.column "min_length", :integer, :default => 0, :null => false
Chris@0 60 t.column "max_length", :integer, :default => 0, :null => false
Chris@0 61 t.column "is_required", :boolean, :default => false, :null => false
Chris@0 62 t.column "is_for_all", :boolean, :default => false, :null => false
Chris@0 63 end
Chris@0 64
Chris@0 65 create_table "custom_fields_projects", :id => false, :force => true do |t|
Chris@0 66 t.column "custom_field_id", :integer, :default => 0, :null => false
Chris@0 67 t.column "project_id", :integer, :default => 0, :null => false
Chris@0 68 end
Chris@0 69
Chris@0 70 create_table "custom_fields_trackers", :id => false, :force => true do |t|
Chris@0 71 t.column "custom_field_id", :integer, :default => 0, :null => false
Chris@0 72 t.column "tracker_id", :integer, :default => 0, :null => false
Chris@0 73 end
Chris@0 74
Chris@0 75 create_table "custom_values", :force => true do |t|
Chris@0 76 t.column "customized_type", :string, :limit => 30, :default => "", :null => false
Chris@0 77 t.column "customized_id", :integer, :default => 0, :null => false
Chris@0 78 t.column "custom_field_id", :integer, :default => 0, :null => false
Chris@0 79 t.column "value", :text
Chris@0 80 end
Chris@0 81
Chris@0 82 create_table "documents", :force => true do |t|
Chris@0 83 t.column "project_id", :integer, :default => 0, :null => false
Chris@0 84 t.column "category_id", :integer, :default => 0, :null => false
Chris@0 85 t.column "title", :string, :limit => 60, :default => "", :null => false
Chris@0 86 t.column "description", :text
Chris@0 87 t.column "created_on", :timestamp
Chris@0 88 end
Chris@0 89
Chris@0 90 add_index "documents", ["project_id"], :name => "documents_project_id"
Chris@0 91
Chris@0 92 create_table "enumerations", :force => true do |t|
Chris@0 93 t.column "opt", :string, :limit => 4, :default => "", :null => false
Chris@0 94 t.column "name", :string, :limit => 30, :default => "", :null => false
Chris@0 95 end
Chris@0 96
Chris@0 97 create_table "issue_categories", :force => true do |t|
Chris@0 98 t.column "project_id", :integer, :default => 0, :null => false
Chris@0 99 t.column "name", :string, :limit => 30, :default => "", :null => false
Chris@0 100 end
Chris@0 101
Chris@0 102 add_index "issue_categories", ["project_id"], :name => "issue_categories_project_id"
Chris@0 103
Chris@0 104 create_table "issue_histories", :force => true do |t|
Chris@0 105 t.column "issue_id", :integer, :default => 0, :null => false
Chris@0 106 t.column "status_id", :integer, :default => 0, :null => false
Chris@0 107 t.column "author_id", :integer, :default => 0, :null => false
Chris@0 108 t.column "notes", :text
Chris@0 109 t.column "created_on", :timestamp
Chris@0 110 end
Chris@0 111
Chris@0 112 add_index "issue_histories", ["issue_id"], :name => "issue_histories_issue_id"
Chris@0 113
Chris@0 114 create_table "issue_statuses", :force => true do |t|
Chris@0 115 t.column "name", :string, :limit => 30, :default => "", :null => false
Chris@0 116 t.column "is_closed", :boolean, :default => false, :null => false
Chris@0 117 t.column "is_default", :boolean, :default => false, :null => false
Chris@0 118 t.column "html_color", :string, :limit => 6, :default => "FFFFFF", :null => false
Chris@0 119 end
Chris@0 120
Chris@0 121 create_table "issues", :force => true do |t|
Chris@0 122 t.column "tracker_id", :integer, :default => 0, :null => false
Chris@0 123 t.column "project_id", :integer, :default => 0, :null => false
Chris@0 124 t.column "subject", :string, :default => "", :null => false
Chris@0 125 t.column "description", :text
Chris@0 126 t.column "due_date", :date
Chris@0 127 t.column "category_id", :integer
Chris@0 128 t.column "status_id", :integer, :default => 0, :null => false
Chris@0 129 t.column "assigned_to_id", :integer
Chris@0 130 t.column "priority_id", :integer, :default => 0, :null => false
Chris@0 131 t.column "fixed_version_id", :integer
Chris@0 132 t.column "author_id", :integer, :default => 0, :null => false
Chris@0 133 t.column "lock_version", :integer, :default => 0, :null => false
Chris@0 134 t.column "created_on", :timestamp
Chris@0 135 t.column "updated_on", :timestamp
Chris@0 136 end
Chris@0 137
Chris@0 138 add_index "issues", ["project_id"], :name => "issues_project_id"
Chris@0 139
Chris@0 140 create_table "members", :force => true do |t|
Chris@0 141 t.column "user_id", :integer, :default => 0, :null => false
Chris@0 142 t.column "project_id", :integer, :default => 0, :null => false
Chris@0 143 t.column "role_id", :integer, :default => 0, :null => false
Chris@0 144 t.column "created_on", :timestamp
Chris@0 145 end
Chris@0 146
Chris@0 147 create_table "news", :force => true do |t|
Chris@0 148 t.column "project_id", :integer
Chris@0 149 t.column "title", :string, :limit => 60, :default => "", :null => false
Chris@0 150 t.column "summary", :string, :limit => 255, :default => ""
Chris@0 151 t.column "description", :text
Chris@0 152 t.column "author_id", :integer, :default => 0, :null => false
Chris@0 153 t.column "created_on", :timestamp
Chris@0 154 end
Chris@0 155
Chris@0 156 add_index "news", ["project_id"], :name => "news_project_id"
Chris@0 157
Chris@0 158 create_table "permissions", :force => true do |t|
Chris@0 159 t.column "controller", :string, :limit => 30, :default => "", :null => false
Chris@0 160 t.column "action", :string, :limit => 30, :default => "", :null => false
Chris@0 161 t.column "description", :string, :limit => 60, :default => "", :null => false
Chris@0 162 t.column "is_public", :boolean, :default => false, :null => false
Chris@0 163 t.column "sort", :integer, :default => 0, :null => false
Chris@0 164 t.column "mail_option", :boolean, :default => false, :null => false
Chris@0 165 t.column "mail_enabled", :boolean, :default => false, :null => false
Chris@0 166 end
Chris@0 167
Chris@0 168 create_table "permissions_roles", :id => false, :force => true do |t|
Chris@0 169 t.column "permission_id", :integer, :default => 0, :null => false
Chris@0 170 t.column "role_id", :integer, :default => 0, :null => false
Chris@0 171 end
Chris@0 172
Chris@0 173 add_index "permissions_roles", ["role_id"], :name => "permissions_roles_role_id"
Chris@0 174
Chris@0 175 create_table "projects", :force => true do |t|
Chris@0 176 t.column "name", :string, :limit => 30, :default => "", :null => false
Chris@0 177 t.column "description", :string, :default => "", :null => false
Chris@0 178 t.column "homepage", :string, :limit => 60, :default => ""
Chris@0 179 t.column "is_public", :boolean, :default => true, :null => false
Chris@0 180 t.column "parent_id", :integer
Chris@0 181 t.column "projects_count", :integer, :default => 0
Chris@0 182 t.column "created_on", :timestamp
Chris@0 183 t.column "updated_on", :timestamp
Chris@0 184 end
Chris@0 185
Chris@0 186 create_table "roles", :force => true do |t|
Chris@0 187 t.column "name", :string, :limit => 30, :default => "", :null => false
Chris@0 188 end
Chris@0 189
Chris@0 190 create_table "tokens", :force => true do |t|
Chris@0 191 t.column "user_id", :integer, :default => 0, :null => false
Chris@0 192 t.column "action", :string, :limit => 30, :default => "", :null => false
Chris@0 193 t.column "value", :string, :limit => 40, :default => "", :null => false
Chris@0 194 t.column "created_on", :datetime, :null => false
Chris@0 195 end
Chris@0 196
Chris@0 197 create_table "trackers", :force => true do |t|
Chris@0 198 t.column "name", :string, :limit => 30, :default => "", :null => false
Chris@0 199 t.column "is_in_chlog", :boolean, :default => false, :null => false
Chris@0 200 end
Chris@0 201
Chris@0 202 create_table "users", :force => true do |t|
Chris@0 203 t.column "login", :string, :limit => 30, :default => "", :null => false
Chris@0 204 t.column "hashed_password", :string, :limit => 40, :default => "", :null => false
Chris@0 205 t.column "firstname", :string, :limit => 30, :default => "", :null => false
Chris@0 206 t.column "lastname", :string, :limit => 30, :default => "", :null => false
Chris@0 207 t.column "mail", :string, :limit => 60, :default => "", :null => false
Chris@0 208 t.column "mail_notification", :boolean, :default => true, :null => false
Chris@0 209 t.column "admin", :boolean, :default => false, :null => false
Chris@0 210 t.column "status", :integer, :default => 1, :null => false
Chris@0 211 t.column "last_login_on", :datetime
Chris@0 212 t.column "language", :string, :limit => 2, :default => ""
Chris@0 213 t.column "auth_source_id", :integer
Chris@0 214 t.column "created_on", :timestamp
Chris@0 215 t.column "updated_on", :timestamp
Chris@0 216 end
Chris@0 217
Chris@0 218 create_table "versions", :force => true do |t|
Chris@0 219 t.column "project_id", :integer, :default => 0, :null => false
Chris@0 220 t.column "name", :string, :limit => 30, :default => "", :null => false
Chris@0 221 t.column "description", :string, :default => ""
Chris@0 222 t.column "effective_date", :date
Chris@0 223 t.column "created_on", :timestamp
Chris@0 224 t.column "updated_on", :timestamp
Chris@0 225 end
Chris@0 226
Chris@0 227 add_index "versions", ["project_id"], :name => "versions_project_id"
Chris@0 228
Chris@0 229 create_table "workflows", :force => true do |t|
Chris@0 230 t.column "tracker_id", :integer, :default => 0, :null => false
Chris@0 231 t.column "old_status_id", :integer, :default => 0, :null => false
Chris@0 232 t.column "new_status_id", :integer, :default => 0, :null => false
Chris@0 233 t.column "role_id", :integer, :default => 0, :null => false
Chris@0 234 end
Chris@0 235
Chris@0 236 # project
Chris@0 237 Permission.create :controller => "projects", :action => "show", :description => "label_overview", :sort => 100, :is_public => true
Chris@0 238 Permission.create :controller => "projects", :action => "changelog", :description => "label_change_log", :sort => 105, :is_public => true
Chris@0 239 Permission.create :controller => "reports", :action => "issue_report", :description => "label_report_plural", :sort => 110, :is_public => true
Chris@0 240 Permission.create :controller => "projects", :action => "settings", :description => "label_settings", :sort => 150
Chris@0 241 Permission.create :controller => "projects", :action => "edit", :description => "button_edit", :sort => 151
Chris@0 242 # members
Chris@0 243 Permission.create :controller => "projects", :action => "list_members", :description => "button_list", :sort => 200, :is_public => true
Chris@0 244 Permission.create :controller => "projects", :action => "add_member", :description => "button_add", :sort => 220
Chris@0 245 Permission.create :controller => "members", :action => "edit", :description => "button_edit", :sort => 221
Chris@0 246 Permission.create :controller => "members", :action => "destroy", :description => "button_delete", :sort => 222
Chris@0 247 # versions
Chris@0 248 Permission.create :controller => "projects", :action => "add_version", :description => "button_add", :sort => 320
Chris@0 249 Permission.create :controller => "versions", :action => "edit", :description => "button_edit", :sort => 321
Chris@0 250 Permission.create :controller => "versions", :action => "destroy", :description => "button_delete", :sort => 322
Chris@0 251 # issue categories
Chris@0 252 Permission.create :controller => "projects", :action => "add_issue_category", :description => "button_add", :sort => 420
Chris@0 253 Permission.create :controller => "issue_categories", :action => "edit", :description => "button_edit", :sort => 421
Chris@0 254 Permission.create :controller => "issue_categories", :action => "destroy", :description => "button_delete", :sort => 422
Chris@0 255 # issues
Chris@0 256 Permission.create :controller => "projects", :action => "list_issues", :description => "button_list", :sort => 1000, :is_public => true
Chris@0 257 Permission.create :controller => "projects", :action => "export_issues_csv", :description => "label_export_csv", :sort => 1001, :is_public => true
Chris@0 258 Permission.create :controller => "issues", :action => "show", :description => "button_view", :sort => 1005, :is_public => true
Chris@0 259 Permission.create :controller => "issues", :action => "download", :description => "button_download", :sort => 1010, :is_public => true
Chris@0 260 Permission.create :controller => "projects", :action => "add_issue", :description => "button_add", :sort => 1050, :mail_option => 1, :mail_enabled => 1
Chris@0 261 Permission.create :controller => "issues", :action => "edit", :description => "button_edit", :sort => 1055
Chris@0 262 Permission.create :controller => "issues", :action => "change_status", :description => "label_change_status", :sort => 1060, :mail_option => 1, :mail_enabled => 1
Chris@0 263 Permission.create :controller => "issues", :action => "destroy", :description => "button_delete", :sort => 1065
Chris@0 264 Permission.create :controller => "issues", :action => "add_attachment", :description => "label_attachment_new", :sort => 1070
Chris@0 265 Permission.create :controller => "issues", :action => "destroy_attachment", :description => "label_attachment_delete", :sort => 1075
Chris@0 266 # news
Chris@0 267 Permission.create :controller => "projects", :action => "list_news", :description => "button_list", :sort => 1100, :is_public => true
Chris@0 268 Permission.create :controller => "news", :action => "show", :description => "button_view", :sort => 1101, :is_public => true
Chris@0 269 Permission.create :controller => "projects", :action => "add_news", :description => "button_add", :sort => 1120
Chris@0 270 Permission.create :controller => "news", :action => "edit", :description => "button_edit", :sort => 1121
Chris@0 271 Permission.create :controller => "news", :action => "destroy", :description => "button_delete", :sort => 1122
Chris@0 272 # documents
Chris@0 273 Permission.create :controller => "projects", :action => "list_documents", :description => "button_list", :sort => 1200, :is_public => true
Chris@0 274 Permission.create :controller => "documents", :action => "show", :description => "button_view", :sort => 1201, :is_public => true
Chris@0 275 Permission.create :controller => "documents", :action => "download", :description => "button_download", :sort => 1202, :is_public => true
Chris@0 276 Permission.create :controller => "projects", :action => "add_document", :description => "button_add", :sort => 1220
Chris@0 277 Permission.create :controller => "documents", :action => "edit", :description => "button_edit", :sort => 1221
Chris@0 278 Permission.create :controller => "documents", :action => "destroy", :description => "button_delete", :sort => 1222
Chris@0 279 Permission.create :controller => "documents", :action => "add_attachment", :description => "label_attachment_new", :sort => 1223
Chris@0 280 Permission.create :controller => "documents", :action => "destroy_attachment", :description => "label_attachment_delete", :sort => 1224
Chris@0 281 # files
Chris@0 282 Permission.create :controller => "projects", :action => "list_files", :description => "button_list", :sort => 1300, :is_public => true
Chris@0 283 Permission.create :controller => "versions", :action => "download", :description => "button_download", :sort => 1301, :is_public => true
Chris@0 284 Permission.create :controller => "projects", :action => "add_file", :description => "button_add", :sort => 1320
Chris@0 285 Permission.create :controller => "versions", :action => "destroy_file", :description => "button_delete", :sort => 1322
Chris@0 286
Chris@0 287 # create default administrator account
Chris@0 288 user = User.create :login => "admin",
Chris@0 289 :hashed_password => "d033e22ae348aeb5660fc2140aec35850c4da997",
Chris@0 290 :admin => true,
Chris@0 291 :firstname => "Redmine",
Chris@0 292 :lastname => "Admin",
Chris@0 293 :mail => "admin@example.net",
Chris@0 294 :mail_notification => true,
Chris@0 295 :language => "en",
Chris@0 296 :status => 1
Chris@0 297 end
Chris@0 298
Chris@0 299 def self.down
Chris@0 300 drop_table :attachments
Chris@0 301 drop_table :auth_sources
Chris@0 302 drop_table :custom_fields
Chris@0 303 drop_table :custom_fields_projects
Chris@0 304 drop_table :custom_fields_trackers
Chris@0 305 drop_table :custom_values
Chris@0 306 drop_table :documents
Chris@0 307 drop_table :enumerations
Chris@0 308 drop_table :issue_categories
Chris@0 309 drop_table :issue_histories
Chris@0 310 drop_table :issue_statuses
Chris@0 311 drop_table :issues
Chris@0 312 drop_table :members
Chris@0 313 drop_table :news
Chris@0 314 drop_table :permissions
Chris@0 315 drop_table :permissions_roles
Chris@0 316 drop_table :projects
Chris@0 317 drop_table :roles
Chris@0 318 drop_table :trackers
Chris@0 319 drop_table :tokens
Chris@0 320 drop_table :users
Chris@0 321 drop_table :versions
Chris@0 322 drop_table :workflows
Chris@0 323 end
Chris@0 324 end