From 47da013cf83b4a42fc9f4b049d8ba41dc3f325d2 Mon Sep 17 00:00:00 2001
From: Zeger-Jan van de Weg <zegerjan@gitlab.com>
Date: Wed, 4 May 2016 19:42:10 +0200
Subject: [PATCH] Annotate the models

---
 app/models/appearance.rb                      | 13 ++++
 app/models/application_setting.rb             | 16 ++--
 app/models/audit_event.rb                     |  4 +-
 app/models/broadcast_message.rb               |  4 +-
 app/models/ci/build.rb                        | 14 ++--
 app/models/ci/commit.rb                       | 10 ++-
 app/models/ci/runner.rb                       | 14 ++--
 app/models/ci/trigger.rb                      |  2 +-
 app/models/ci/variable.rb                     |  6 +-
 app/models/commit_status.rb                   | 17 +++--
 app/models/deploy_key.rb                      |  6 +-
 app/models/email.rb                           |  2 +-
 app/models/event.rb                           |  4 +-
 app/models/generic_commit_status.rb           | 17 +++--
 app/models/group.rb                           | 21 +++---
 app/models/hooks/project_hook.rb              |  2 +-
 app/models/hooks/service_hook.rb              |  2 +-
 app/models/hooks/system_hook.rb               |  2 +-
 app/models/hooks/web_hook.rb                  |  2 +-
 app/models/identity.rb                        |  4 +-
 app/models/issue.rb                           |  9 ++-
 app/models/key.rb                             |  6 +-
 app/models/label.rb                           | 16 ++--
 app/models/label_link.rb                      |  2 +-
 app/models/lfs_object.rb                      |  4 +-
 app/models/member.rb                          |  8 +-
 app/models/members/group_member.rb            |  8 +-
 app/models/members/project_member.rb          |  8 +-
 app/models/merge_request.rb                   | 13 ++--
 app/models/merge_request_diff.rb              |  4 +-
 app/models/milestone.rb                       |  4 +-
 app/models/namespace.rb                       | 20 ++---
 app/models/note.rb                            |  8 +-
 app/models/notification_setting.rb            | 13 ++++
 app/models/personal_snippet.rb                |  6 +-
 app/models/project.rb                         | 75 ++++++++++---------
 app/models/project_group_link.rb              | 12 +++
 app/models/project_import_data.rb             |  9 ++-
 app/models/project_services/asana_service.rb  | 13 ++--
 .../project_services/assembla_service.rb      | 13 ++--
 app/models/project_services/bamboo_service.rb | 13 ++--
 .../project_services/buildkite_service.rb     | 13 ++--
 .../project_services/builds_email_service.rb  | 13 ++--
 .../project_services/campfire_service.rb      | 13 ++--
 app/models/project_services/ci_service.rb     | 13 ++--
 .../custom_issue_tracker_service.rb           | 13 ++--
 .../project_services/drone_ci_service.rb      | 13 ++--
 .../emails_on_push_service.rb                 | 13 ++--
 .../project_services/external_wiki_service.rb | 13 ++--
 .../project_services/flowdock_service.rb      | 13 ++--
 .../project_services/gemnasium_service.rb     | 13 ++--
 .../project_services/gitlab_ci_service.rb     | 13 ++--
 .../gitlab_issue_tracker_service.rb           | 13 ++--
 .../project_services/hipchat_service.rb       | 13 ++--
 app/models/project_services/irker_service.rb  | 13 ++--
 .../project_services/issue_tracker_service.rb | 13 ++--
 app/models/project_services/jira_service.rb   | 13 ++--
 .../pivotaltracker_service.rb                 | 13 ++--
 .../project_services/pushover_service.rb      | 13 ++--
 .../project_services/redmine_service.rb       | 13 ++--
 app/models/project_services/slack_service.rb  | 13 ++--
 .../project_services/teamcity_service.rb      | 13 ++--
 app/models/project_snippet.rb                 |  6 +-
 app/models/protected_branch.rb                |  2 +-
 app/models/release.rb                         |  2 +-
 app/models/security_event.rb                  |  4 +-
 app/models/sent_notification.rb               |  8 +-
 app/models/service.rb                         | 13 ++--
 app/models/snippet.rb                         |  6 +-
 app/models/spam_log.rb                        | 17 +++++
 app/models/subscription.rb                    |  2 +-
 app/models/user.rb                            | 49 ++++++------
 72 files changed, 485 insertions(+), 323 deletions(-)

diff --git a/app/models/appearance.rb b/app/models/appearance.rb
index 4cf8dd9a8ce..4528760fefa 100644
--- a/app/models/appearance.rb
+++ b/app/models/appearance.rb
@@ -1,3 +1,16 @@
+# == Schema Information
+#
+# Table name: appearances
+#
+#  id          :integer          not null, primary key
+#  title       :string
+#  description :text
+#  header_logo :string
+#  logo        :string
+#  created_at  :datetime         not null
+#  updated_at  :datetime         not null
+#
+
 class Appearance < ActiveRecord::Base
   validates :title,       presence: true
   validates :description, presence: true
diff --git a/app/models/application_setting.rb b/app/models/application_setting.rb
index 36f88154232..72ec91d2909 100644
--- a/app/models/application_setting.rb
+++ b/app/models/application_setting.rb
@@ -10,21 +10,20 @@
 #  sign_in_text                      :text
 #  created_at                        :datetime
 #  updated_at                        :datetime
-#  home_page_url                     :string(255)
+#  home_page_url                     :string
 #  default_branch_protection         :integer          default(2)
 #  restricted_visibility_levels      :text
 #  version_check_enabled             :boolean          default(TRUE)
 #  max_attachment_size               :integer          default(10), not null
 #  default_project_visibility        :integer
 #  default_snippet_visibility        :integer
-#  default_group_visibility          :integer
 #  restricted_signup_domains         :text
 #  user_oauth_applications           :boolean          default(TRUE)
-#  after_sign_out_path               :string(255)
+#  after_sign_out_path               :string
 #  session_expire_delay              :integer          default(10080), not null
 #  import_sources                    :text
 #  help_page_text                    :text
-#  admin_notification_email          :string(255)
+#  admin_notification_email          :string
 #  shared_runners_enabled            :boolean          default(TRUE), not null
 #  max_artifacts_size                :integer          default(100), not null
 #  runners_registration_token        :string
@@ -32,8 +31,6 @@
 #  two_factor_grace_period           :integer          default(48)
 #  metrics_enabled                   :boolean          default(FALSE)
 #  metrics_host                      :string           default("localhost")
-#  metrics_username                  :string
-#  metrics_password                  :string
 #  metrics_pool_size                 :integer          default(16)
 #  metrics_timeout                   :integer          default(10)
 #  metrics_method_call_threshold     :integer          default(10)
@@ -41,9 +38,16 @@
 #  recaptcha_site_key                :string
 #  recaptcha_private_key             :string
 #  metrics_port                      :integer          default(8089)
+#  metrics_sample_interval           :integer          default(15)
 #  sentry_enabled                    :boolean          default(FALSE)
 #  sentry_dsn                        :string
+#  akismet_enabled                   :boolean          default(FALSE)
+#  akismet_api_key                   :string
 #  email_author_in_body              :boolean          default(FALSE)
+#  default_group_visibility          :integer
+#  repository_checks_enabled         :boolean          default(FALSE)
+#  metrics_packet_size               :integer          default(1)
+#  shared_runners_text               :text
 #
 
 class ApplicationSetting < ActiveRecord::Base
diff --git a/app/models/audit_event.rb b/app/models/audit_event.rb
index 0ed0dd98a59..44b090260e7 100644
--- a/app/models/audit_event.rb
+++ b/app/models/audit_event.rb
@@ -4,9 +4,9 @@
 #
 #  id          :integer          not null, primary key
 #  author_id   :integer          not null
-#  type        :string(255)      not null
+#  type        :string           not null
 #  entity_id   :integer          not null
-#  entity_type :string(255)      not null
+#  entity_type :string           not null
 #  details     :text
 #  created_at  :datetime
 #  updated_at  :datetime
diff --git a/app/models/broadcast_message.rb b/app/models/broadcast_message.rb
index 8a0a8a4c2a9..075ac733bfc 100644
--- a/app/models/broadcast_message.rb
+++ b/app/models/broadcast_message.rb
@@ -8,8 +8,8 @@
 #  ends_at    :datetime
 #  created_at :datetime
 #  updated_at :datetime
-#  color      :string(255)
-#  font       :string(255)
+#  color      :string
+#  font       :string
 #
 
 class BroadcastMessage < ActiveRecord::Base
diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb
index 553cd447971..4bc3a225e2c 100644
--- a/app/models/ci/build.rb
+++ b/app/models/ci/build.rb
@@ -4,7 +4,7 @@
 #
 #  id                 :integer          not null, primary key
 #  project_id         :integer
-#  status             :string(255)
+#  status             :string
 #  finished_at        :datetime
 #  trace              :text
 #  created_at         :datetime
@@ -15,19 +15,19 @@
 #  commit_id          :integer
 #  commands           :text
 #  job_id             :integer
-#  name               :string(255)
+#  name               :string
 #  deploy             :boolean          default(FALSE)
 #  options            :text
 #  allow_failure      :boolean          default(FALSE), not null
-#  stage              :string(255)
+#  stage              :string
 #  trigger_request_id :integer
 #  stage_idx          :integer
 #  tag                :boolean
-#  ref                :string(255)
+#  ref                :string
 #  user_id            :integer
-#  type               :string(255)
-#  target_url         :string(255)
-#  description        :string(255)
+#  type               :string
+#  target_url         :string
+#  description        :string
 #  artifacts_file     :text
 #  gl_project_id      :integer
 #  artifacts_metadata :text
diff --git a/app/models/ci/commit.rb b/app/models/ci/commit.rb
index f2667e5476b..4ac4e0fb8b2 100644
--- a/app/models/ci/commit.rb
+++ b/app/models/ci/commit.rb
@@ -4,9 +4,9 @@
 #
 #  id            :integer          not null, primary key
 #  project_id    :integer
-#  ref           :string(255)
-#  sha           :string(255)
-#  before_sha    :string(255)
+#  ref           :string
+#  sha           :string
+#  before_sha    :string
 #  push_data     :text
 #  created_at    :datetime
 #  updated_at    :datetime
@@ -14,6 +14,10 @@
 #  yaml_errors   :text
 #  committed_at  :datetime
 #  gl_project_id :integer
+#  status        :string
+#  started_at    :datetime
+#  finished_at   :datetime
+#  duration      :integer
 #
 
 module Ci
diff --git a/app/models/ci/runner.rb b/app/models/ci/runner.rb
index 90349a07594..add59a08892 100644
--- a/app/models/ci/runner.rb
+++ b/app/models/ci/runner.rb
@@ -3,18 +3,18 @@
 # Table name: ci_runners
 #
 #  id           :integer          not null, primary key
-#  token        :string(255)
+#  token        :string
 #  created_at   :datetime
 #  updated_at   :datetime
-#  description  :string(255)
+#  description  :string
 #  contacted_at :datetime
 #  active       :boolean          default(TRUE), not null
 #  is_shared    :boolean          default(FALSE)
-#  name         :string(255)
-#  version      :string(255)
-#  revision     :string(255)
-#  platform     :string(255)
-#  architecture :string(255)
+#  name         :string
+#  version      :string
+#  revision     :string
+#  platform     :string
+#  architecture :string
 #
 
 module Ci
diff --git a/app/models/ci/trigger.rb b/app/models/ci/trigger.rb
index 2b9a457c8ab..4f3f4d79fac 100644
--- a/app/models/ci/trigger.rb
+++ b/app/models/ci/trigger.rb
@@ -3,7 +3,7 @@
 # Table name: ci_triggers
 #
 #  id            :integer          not null, primary key
-#  token         :string(255)
+#  token         :string
 #  project_id    :integer
 #  deleted_at    :datetime
 #  created_at    :datetime
diff --git a/app/models/ci/variable.rb b/app/models/ci/variable.rb
index e786bd7dd93..4229fe085a1 100644
--- a/app/models/ci/variable.rb
+++ b/app/models/ci/variable.rb
@@ -4,11 +4,11 @@
 #
 #  id                   :integer          not null, primary key
 #  project_id           :integer
-#  key                  :string(255)
+#  key                  :string
 #  value                :text
 #  encrypted_value      :text
-#  encrypted_value_salt :string(255)
-#  encrypted_value_iv   :string(255)
+#  encrypted_value_salt :string
+#  encrypted_value_iv   :string
 #  gl_project_id        :integer
 #
 
diff --git a/app/models/commit_status.rb b/app/models/commit_status.rb
index aa56314aa16..1260c448de3 100644
--- a/app/models/commit_status.rb
+++ b/app/models/commit_status.rb
@@ -4,7 +4,7 @@
 #
 #  id                 :integer          not null, primary key
 #  project_id         :integer
-#  status             :string(255)
+#  status             :string
 #  finished_at        :datetime
 #  trace              :text
 #  created_at         :datetime
@@ -15,21 +15,24 @@
 #  commit_id          :integer
 #  commands           :text
 #  job_id             :integer
-#  name               :string(255)
+#  name               :string
 #  deploy             :boolean          default(FALSE)
 #  options            :text
 #  allow_failure      :boolean          default(FALSE), not null
-#  stage              :string(255)
+#  stage              :string
 #  trigger_request_id :integer
 #  stage_idx          :integer
 #  tag                :boolean
-#  ref                :string(255)
+#  ref                :string
 #  user_id            :integer
-#  type               :string(255)
-#  target_url         :string(255)
-#  description        :string(255)
+#  type               :string
+#  target_url         :string
+#  description        :string
 #  artifacts_file     :text
 #  gl_project_id      :integer
+#  artifacts_metadata :text
+#  erased_by_id       :integer
+#  erased_at          :datetime
 #
 
 class CommitStatus < ActiveRecord::Base
diff --git a/app/models/deploy_key.rb b/app/models/deploy_key.rb
index 9ab663c04ad..43cf625f770 100644
--- a/app/models/deploy_key.rb
+++ b/app/models/deploy_key.rb
@@ -7,9 +7,9 @@
 #  created_at  :datetime
 #  updated_at  :datetime
 #  key         :text
-#  title       :string(255)
-#  type        :string(255)
-#  fingerprint :string(255)
+#  title       :string
+#  type        :string
+#  fingerprint :string
 #  public      :boolean          default(FALSE), not null
 #
 
diff --git a/app/models/email.rb b/app/models/email.rb
index b323d1edd10..eae2472f337 100644
--- a/app/models/email.rb
+++ b/app/models/email.rb
@@ -4,7 +4,7 @@
 #
 #  id         :integer          not null, primary key
 #  user_id    :integer          not null
-#  email      :string(255)      not null
+#  email      :string           not null
 #  created_at :datetime
 #  updated_at :datetime
 #
diff --git a/app/models/event.rb b/app/models/event.rb
index 897518aadc7..25c7c3e6dc7 100644
--- a/app/models/event.rb
+++ b/app/models/event.rb
@@ -3,9 +3,9 @@
 # Table name: events
 #
 #  id          :integer          not null, primary key
-#  target_type :string(255)
+#  target_type :string
 #  target_id   :integer
-#  title       :string(255)
+#  title       :string
 #  data        :text
 #  project_id  :integer
 #  created_at  :datetime
diff --git a/app/models/generic_commit_status.rb b/app/models/generic_commit_status.rb
index 97f4f03a9a5..d4afd8cbe84 100644
--- a/app/models/generic_commit_status.rb
+++ b/app/models/generic_commit_status.rb
@@ -4,7 +4,7 @@
 #
 #  id                 :integer          not null, primary key
 #  project_id         :integer
-#  status             :string(255)
+#  status             :string
 #  finished_at        :datetime
 #  trace              :text
 #  created_at         :datetime
@@ -15,21 +15,24 @@
 #  commit_id          :integer
 #  commands           :text
 #  job_id             :integer
-#  name               :string(255)
+#  name               :string
 #  deploy             :boolean          default(FALSE)
 #  options            :text
 #  allow_failure      :boolean          default(FALSE), not null
-#  stage              :string(255)
+#  stage              :string
 #  trigger_request_id :integer
 #  stage_idx          :integer
 #  tag                :boolean
-#  ref                :string(255)
+#  ref                :string
 #  user_id            :integer
-#  type               :string(255)
-#  target_url         :string(255)
-#  description        :string(255)
+#  type               :string
+#  target_url         :string
+#  description        :string
 #  artifacts_file     :text
 #  gl_project_id      :integer
+#  artifacts_metadata :text
+#  erased_by_id       :integer
+#  erased_at          :datetime
 #
 
 class GenericCommitStatus < CommitStatus
diff --git a/app/models/group.rb b/app/models/group.rb
index 1f8432e3320..cff76877958 100644
--- a/app/models/group.rb
+++ b/app/models/group.rb
@@ -2,16 +2,17 @@
 #
 # Table name: namespaces
 #
-#  id                     :integer          not null, primary key
-#  name                   :string(255)      not null
-#  path                   :string(255)      not null
-#  owner_id               :integer
-#  visibility_level       :integer          default(20), not null
-#  created_at             :datetime
-#  updated_at             :datetime
-#  type                   :string(255)
-#  description            :string(255)      default(""), not null
-#  avatar                 :string(255)
+#  id                    :integer          not null, primary key
+#  name                  :string           not null
+#  path                  :string           not null
+#  owner_id              :integer
+#  created_at            :datetime
+#  updated_at            :datetime
+#  type                  :string
+#  description           :string           default(""), not null
+#  avatar                :string
+#  share_with_group_lock :boolean          default(FALSE)
+#  visibility_level      :integer          default(20), not null
 #
 
 require 'carrierwave/orm/activerecord'
diff --git a/app/models/hooks/project_hook.rb b/app/models/hooks/project_hook.rb
index d149511b868..64f570b12ae 100644
--- a/app/models/hooks/project_hook.rb
+++ b/app/models/hooks/project_hook.rb
@@ -16,7 +16,7 @@
 #  note_events             :boolean          default(FALSE), not null
 #  enable_ssl_verification :boolean          default(TRUE)
 #  build_events            :boolean          default(FALSE), not null
-#  token                   :string
+#  wiki_page_events        :boolean          default(FALSE), not null
 #
 
 class ProjectHook < WebHook
diff --git a/app/models/hooks/service_hook.rb b/app/models/hooks/service_hook.rb
index f45145eeb3a..23f6468ee52 100644
--- a/app/models/hooks/service_hook.rb
+++ b/app/models/hooks/service_hook.rb
@@ -16,7 +16,7 @@
 #  note_events             :boolean          default(FALSE), not null
 #  enable_ssl_verification :boolean          default(TRUE)
 #  build_events            :boolean          default(FALSE), not null
-#  token                   :string
+#  wiki_page_events        :boolean          default(FALSE), not null
 #
 
 class ServiceHook < WebHook
diff --git a/app/models/hooks/system_hook.rb b/app/models/hooks/system_hook.rb
index 012cc8ec005..5e9046f3623 100644
--- a/app/models/hooks/system_hook.rb
+++ b/app/models/hooks/system_hook.rb
@@ -16,7 +16,7 @@
 #  note_events             :boolean          default(FALSE), not null
 #  enable_ssl_verification :boolean          default(TRUE)
 #  build_events            :boolean          default(FALSE), not null
-#  token                   :string
+#  wiki_page_events        :boolean          default(FALSE), not null
 #
 
 class SystemHook < WebHook
diff --git a/app/models/hooks/web_hook.rb b/app/models/hooks/web_hook.rb
index 1e3b4815596..a8f17ac16a6 100644
--- a/app/models/hooks/web_hook.rb
+++ b/app/models/hooks/web_hook.rb
@@ -16,7 +16,7 @@
 #  note_events             :boolean          default(FALSE), not null
 #  enable_ssl_verification :boolean          default(TRUE)
 #  build_events            :boolean          default(FALSE), not null
-#  token                   :string
+#  wiki_page_events        :boolean          default(FALSE), not null
 #
 
 class WebHook < ActiveRecord::Base
diff --git a/app/models/identity.rb b/app/models/identity.rb
index e1915b079d4..ef4d5f99091 100644
--- a/app/models/identity.rb
+++ b/app/models/identity.rb
@@ -3,8 +3,8 @@
 # Table name: identities
 #
 #  id         :integer          not null, primary key
-#  extern_uid :string(255)
-#  provider   :string(255)
+#  extern_uid :string
+#  provider   :string
 #  user_id    :integer
 #  created_at :datetime
 #  updated_at :datetime
diff --git a/app/models/issue.rb b/app/models/issue.rb
index ea1bfb776ee..abaa509707c 100644
--- a/app/models/issue.rb
+++ b/app/models/issue.rb
@@ -3,20 +3,23 @@
 # Table name: issues
 #
 #  id            :integer          not null, primary key
-#  title         :string(255)
+#  title         :string
 #  assignee_id   :integer
 #  author_id     :integer
 #  project_id    :integer
 #  created_at    :datetime
 #  updated_at    :datetime
 #  position      :integer          default(0)
-#  branch_name   :string(255)
+#  branch_name   :string
 #  description   :text
 #  milestone_id  :integer
-#  state         :string(255)
+#  state         :string
 #  iid           :integer
 #  updated_by_id :integer
 #  moved_to_id   :integer
+#  confidential  :boolean          default(FALSE)
+#  deleted_at    :datetime
+#  due_date      :date
 #
 
 require 'carrierwave/orm/activerecord'
diff --git a/app/models/key.rb b/app/models/key.rb
index 0282ad18139..b2b57849f8a 100644
--- a/app/models/key.rb
+++ b/app/models/key.rb
@@ -7,9 +7,9 @@
 #  created_at  :datetime
 #  updated_at  :datetime
 #  key         :text
-#  title       :string(255)
-#  type        :string(255)
-#  fingerprint :string(255)
+#  title       :string
+#  type        :string
+#  fingerprint :string
 #  public      :boolean          default(FALSE), not null
 #
 
diff --git a/app/models/label.rb b/app/models/label.rb
index 60bdce32952..9a22398d952 100644
--- a/app/models/label.rb
+++ b/app/models/label.rb
@@ -2,14 +2,14 @@
 #
 # Table name: labels
 #
-#  id           :integer          not null, primary key
-#  title        :string(255)
-#  color        :string(255)
-#  project_id   :integer
-#  created_at   :datetime
-#  updated_at   :datetime
-#  template     :boolean          default(FALSE)
-#  description  :string(255)
+#  id          :integer          not null, primary key
+#  title       :string
+#  color       :string
+#  project_id  :integer
+#  created_at  :datetime
+#  updated_at  :datetime
+#  template    :boolean          default(FALSE)
+#  description :string
 #
 
 class Label < ActiveRecord::Base
diff --git a/app/models/label_link.rb b/app/models/label_link.rb
index b94c9c777af..7b8e872b6dd 100644
--- a/app/models/label_link.rb
+++ b/app/models/label_link.rb
@@ -5,7 +5,7 @@
 #  id          :integer          not null, primary key
 #  label_id    :integer
 #  target_id   :integer
-#  target_type :string(255)
+#  target_type :string
 #  created_at  :datetime
 #  updated_at  :datetime
 #
diff --git a/app/models/lfs_object.rb b/app/models/lfs_object.rb
index 86b1b7e2f99..927e764af92 100644
--- a/app/models/lfs_object.rb
+++ b/app/models/lfs_object.rb
@@ -3,11 +3,11 @@
 # Table name: lfs_objects
 #
 #  id         :integer          not null, primary key
-#  oid        :string(255)      not null
+#  oid        :string           not null
 #  size       :integer          not null
 #  created_at :datetime
 #  updated_at :datetime
-#  file       :string(255)
+#  file       :string
 #
 
 class LfsObject < ActiveRecord::Base
diff --git a/app/models/member.rb b/app/models/member.rb
index 60efafef211..cca82da89f1 100644
--- a/app/models/member.rb
+++ b/app/models/member.rb
@@ -5,15 +5,15 @@
 #  id                 :integer          not null, primary key
 #  access_level       :integer          not null
 #  source_id          :integer          not null
-#  source_type        :string(255)      not null
+#  source_type        :string           not null
 #  user_id            :integer
 #  notification_level :integer          not null
-#  type               :string(255)
+#  type               :string
 #  created_at         :datetime
 #  updated_at         :datetime
 #  created_by_id      :integer
-#  invite_email       :string(255)
-#  invite_token       :string(255)
+#  invite_email       :string
+#  invite_token       :string
 #  invite_accepted_at :datetime
 #
 
diff --git a/app/models/members/group_member.rb b/app/models/members/group_member.rb
index 9fb474a1a93..a48c1943e6f 100644
--- a/app/models/members/group_member.rb
+++ b/app/models/members/group_member.rb
@@ -5,15 +5,15 @@
 #  id                 :integer          not null, primary key
 #  access_level       :integer          not null
 #  source_id          :integer          not null
-#  source_type        :string(255)      not null
+#  source_type        :string           not null
 #  user_id            :integer
 #  notification_level :integer          not null
-#  type               :string(255)
+#  type               :string
 #  created_at         :datetime
 #  updated_at         :datetime
 #  created_by_id      :integer
-#  invite_email       :string(255)
-#  invite_token       :string(255)
+#  invite_email       :string
+#  invite_token       :string
 #  invite_accepted_at :datetime
 #
 
diff --git a/app/models/members/project_member.rb b/app/models/members/project_member.rb
index 07ddb02ae9d..143350a0b55 100644
--- a/app/models/members/project_member.rb
+++ b/app/models/members/project_member.rb
@@ -5,15 +5,15 @@
 #  id                 :integer          not null, primary key
 #  access_level       :integer          not null
 #  source_id          :integer          not null
-#  source_type        :string(255)      not null
+#  source_type        :string           not null
 #  user_id            :integer
 #  notification_level :integer          not null
-#  type               :string(255)
+#  type               :string
 #  created_at         :datetime
 #  updated_at         :datetime
 #  created_by_id      :integer
-#  invite_email       :string(255)
-#  invite_token       :string(255)
+#  invite_email       :string
+#  invite_token       :string
 #  invite_accepted_at :datetime
 #
 
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index d00919c3b0c..4175e1e5fba 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -3,28 +3,29 @@
 # Table name: merge_requests
 #
 #  id                        :integer          not null, primary key
-#  target_branch             :string(255)      not null
-#  source_branch             :string(255)      not null
+#  target_branch             :string           not null
+#  source_branch             :string           not null
 #  source_project_id         :integer          not null
 #  author_id                 :integer
 #  assignee_id               :integer
-#  title                     :string(255)
+#  title                     :string
 #  created_at                :datetime
 #  updated_at                :datetime
 #  milestone_id              :integer
-#  state                     :string(255)
-#  merge_status              :string(255)
+#  state                     :string
+#  merge_status              :string
 #  target_project_id         :integer          not null
 #  iid                       :integer
 #  description               :text
 #  position                  :integer          default(0)
 #  locked_at                 :datetime
 #  updated_by_id             :integer
-#  merge_error               :string(255)
+#  merge_error               :string
 #  merge_params              :text
 #  merge_when_build_succeeds :boolean          default(FALSE), not null
 #  merge_user_id             :integer
 #  merge_commit_sha          :string
+#  deleted_at                :datetime
 #
 
 class MergeRequest < ActiveRecord::Base
diff --git a/app/models/merge_request_diff.rb b/app/models/merge_request_diff.rb
index 0580cafdd1b..8951e92a0b8 100644
--- a/app/models/merge_request_diff.rb
+++ b/app/models/merge_request_diff.rb
@@ -3,12 +3,14 @@
 # Table name: merge_request_diffs
 #
 #  id               :integer          not null, primary key
-#  state            :string(255)
+#  state            :string
 #  st_commits       :text
 #  st_diffs         :text
 #  merge_request_id :integer          not null
 #  created_at       :datetime
 #  updated_at       :datetime
+#  base_commit_sha  :string
+#  real_size        :string
 #
 
 class MergeRequestDiff < ActiveRecord::Base
diff --git a/app/models/milestone.rb b/app/models/milestone.rb
index 986184dd301..5ee8a965ad8 100644
--- a/app/models/milestone.rb
+++ b/app/models/milestone.rb
@@ -3,13 +3,13 @@
 # Table name: milestones
 #
 #  id          :integer          not null, primary key
-#  title       :string(255)      not null
+#  title       :string           not null
 #  project_id  :integer          not null
 #  description :text
 #  due_date    :date
 #  created_at  :datetime
 #  updated_at  :datetime
-#  state       :string(255)
+#  state       :string
 #  iid         :integer
 #
 
diff --git a/app/models/namespace.rb b/app/models/namespace.rb
index 55842df1e2d..741e912171d 100644
--- a/app/models/namespace.rb
+++ b/app/models/namespace.rb
@@ -2,15 +2,17 @@
 #
 # Table name: namespaces
 #
-#  id          :integer          not null, primary key
-#  name        :string(255)      not null
-#  path        :string(255)      not null
-#  owner_id    :integer
-#  created_at  :datetime
-#  updated_at  :datetime
-#  type        :string(255)
-#  description :string(255)      default(""), not null
-#  avatar      :string(255)
+#  id                    :integer          not null, primary key
+#  name                  :string           not null
+#  path                  :string           not null
+#  owner_id              :integer
+#  created_at            :datetime
+#  updated_at            :datetime
+#  type                  :string
+#  description           :string           default(""), not null
+#  avatar                :string
+#  share_with_group_lock :boolean          default(FALSE)
+#  visibility_level      :integer          default(20), not null
 #
 
 class Namespace < ActiveRecord::Base
diff --git a/app/models/note.rb b/app/models/note.rb
index 71b4293d57a..deee2b9e885 100644
--- a/app/models/note.rb
+++ b/app/models/note.rb
@@ -4,14 +4,14 @@
 #
 #  id            :integer          not null, primary key
 #  note          :text
-#  noteable_type :string(255)
+#  noteable_type :string
 #  author_id     :integer
 #  created_at    :datetime
 #  updated_at    :datetime
 #  project_id    :integer
-#  attachment    :string(255)
-#  line_code     :string(255)
-#  commit_id     :string(255)
+#  attachment    :string
+#  line_code     :string
+#  commit_id     :string
 #  noteable_id   :integer
 #  system        :boolean          default(FALSE), not null
 #  st_diff       :text
diff --git a/app/models/notification_setting.rb b/app/models/notification_setting.rb
index 5001738f411..846773752a6 100644
--- a/app/models/notification_setting.rb
+++ b/app/models/notification_setting.rb
@@ -1,3 +1,16 @@
+# == Schema Information
+#
+# Table name: notification_settings
+#
+#  id          :integer          not null, primary key
+#  user_id     :integer          not null
+#  source_id   :integer          not null
+#  source_type :string           not null
+#  level       :integer          default(0), not null
+#  created_at  :datetime         not null
+#  updated_at  :datetime         not null
+#
+
 class NotificationSetting < ActiveRecord::Base
   enum level: { disabled: 0,  participating: 1,  watch: 2,  global: 3, mention: 4 }
 
diff --git a/app/models/personal_snippet.rb b/app/models/personal_snippet.rb
index 452f3913eef..1d5f4c50254 100644
--- a/app/models/personal_snippet.rb
+++ b/app/models/personal_snippet.rb
@@ -3,14 +3,14 @@
 # Table name: snippets
 #
 #  id               :integer          not null, primary key
-#  title            :string(255)
+#  title            :string
 #  content          :text
 #  author_id        :integer          not null
 #  project_id       :integer
 #  created_at       :datetime
 #  updated_at       :datetime
-#  file_name        :string(255)
-#  type             :string(255)
+#  file_name        :string
+#  type             :string
 #  visibility_level :integer          default(0), not null
 #
 
diff --git a/app/models/project.rb b/app/models/project.rb
index af62e8ecd90..9403acf7759 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -2,41 +2,46 @@
 #
 # Table name: projects
 #
-#  id                     :integer          not null, primary key
-#  name                   :string(255)
-#  path                   :string(255)
-#  description            :text
-#  created_at             :datetime
-#  updated_at             :datetime
-#  creator_id             :integer
-#  issues_enabled         :boolean          default(TRUE), not null
-#  wall_enabled           :boolean          default(TRUE), not null
-#  merge_requests_enabled :boolean          default(TRUE), not null
-#  wiki_enabled           :boolean          default(TRUE), not null
-#  namespace_id           :integer
-#  issues_tracker         :string(255)      default("gitlab"), not null
-#  issues_tracker_id      :string(255)
-#  snippets_enabled       :boolean          default(TRUE), not null
-#  last_activity_at       :datetime
-#  import_url             :string(255)
-#  visibility_level       :integer          default(0), not null
-#  archived               :boolean          default(FALSE), not null
-#  avatar                 :string(255)
-#  import_status          :string(255)
-#  repository_size        :float            default(0.0)
-#  star_count             :integer          default(0), not null
-#  import_type            :string(255)
-#  import_source          :string(255)
-#  commit_count           :integer          default(0)
-#  import_error           :text
-#  ci_id                  :integer
-#  builds_enabled         :boolean          default(TRUE), not null
-#  shared_runners_enabled :boolean          default(TRUE), not null
-#  runners_token          :string
-#  build_coverage_regex   :string
-#  build_allow_git_fetch  :boolean          default(TRUE), not null
-#  build_timeout          :integer          default(3600), not null
-#  pending_delete         :boolean
+#  id                           :integer          not null, primary key
+#  name                         :string
+#  path                         :string
+#  description                  :text
+#  created_at                   :datetime
+#  updated_at                   :datetime
+#  creator_id                   :integer
+#  issues_enabled               :boolean          default(TRUE), not null
+#  wall_enabled                 :boolean          default(TRUE), not null
+#  merge_requests_enabled       :boolean          default(TRUE), not null
+#  wiki_enabled                 :boolean          default(TRUE), not null
+#  namespace_id                 :integer
+#  issues_tracker               :string           default("gitlab"), not null
+#  issues_tracker_id            :string
+#  snippets_enabled             :boolean          default(TRUE), not null
+#  last_activity_at             :datetime
+#  import_url                   :string
+#  visibility_level             :integer          default(0), not null
+#  archived                     :boolean          default(FALSE), not null
+#  avatar                       :string
+#  import_status                :string
+#  repository_size              :float            default(0.0)
+#  star_count                   :integer          default(0), not null
+#  import_type                  :string
+#  import_source                :string
+#  commit_count                 :integer          default(0)
+#  import_error                 :text
+#  ci_id                        :integer
+#  builds_enabled               :boolean          default(TRUE), not null
+#  shared_runners_enabled       :boolean          default(TRUE), not null
+#  runners_token                :string
+#  build_coverage_regex         :string
+#  build_allow_git_fetch        :boolean          default(TRUE), not null
+#  build_timeout                :integer          default(3600), not null
+#  pending_delete               :boolean          default(FALSE)
+#  public_builds                :boolean          default(TRUE), not null
+#  main_language                :string
+#  pushes_since_gc              :integer          default(0)
+#  last_repository_check_failed :boolean
+#  last_repository_check_at     :datetime
 #
 
 require 'carrierwave/orm/activerecord'
diff --git a/app/models/project_group_link.rb b/app/models/project_group_link.rb
index e52a6bd7c84..66f5a609bf5 100644
--- a/app/models/project_group_link.rb
+++ b/app/models/project_group_link.rb
@@ -1,3 +1,15 @@
+# == Schema Information
+#
+# Table name: project_group_links
+#
+#  id           :integer          not null, primary key
+#  project_id   :integer          not null
+#  group_id     :integer          not null
+#  created_at   :datetime
+#  updated_at   :datetime
+#  group_access :integer          default(30), not null
+#
+
 class ProjectGroupLink < ActiveRecord::Base
   GUEST     = 10
   REPORTER  = 20
diff --git a/app/models/project_import_data.rb b/app/models/project_import_data.rb
index 2c0ae312f1b..3f0080205dd 100644
--- a/app/models/project_import_data.rb
+++ b/app/models/project_import_data.rb
@@ -2,9 +2,12 @@
 #
 # Table name: project_import_data
 #
-#  id         :integer          not null, primary key
-#  project_id :integer
-#  data       :text
+#  id                         :integer          not null, primary key
+#  project_id                 :integer
+#  data                       :text
+#  encrypted_credentials      :text
+#  encrypted_credentials_iv   :text
+#  encrypted_credentials_salt :text
 #
 
 require 'carrierwave/orm/activerecord'
diff --git a/app/models/project_services/asana_service.rb b/app/models/project_services/asana_service.rb
index 792ad804575..368485a060a 100644
--- a/app/models/project_services/asana_service.rb
+++ b/app/models/project_services/asana_service.rb
@@ -3,12 +3,12 @@
 # Table name: services
 #
 #  id                    :integer          not null, primary key
-#  type                  :string(255)
-#  title                 :string(255)
+#  type                  :string
+#  title                 :string
 #  project_id            :integer
-#  created_at            :datetime
-#  updated_at            :datetime
-#  active                :boolean          default(FALSE), not null
+#  created_at            :datetime         not null
+#  updated_at            :datetime         not null
+#  active                :boolean          not null
 #  properties            :text
 #  template              :boolean          default(FALSE)
 #  push_events           :boolean          default(TRUE)
@@ -17,6 +17,9 @@
 #  tag_push_events       :boolean          default(TRUE)
 #  note_events           :boolean          default(TRUE), not null
 #  build_events          :boolean          default(FALSE), not null
+#  category              :string           default("common"), not null
+#  default               :boolean          default(FALSE)
+#  wiki_page_events      :boolean          default(TRUE)
 #
 
 require 'asana'
diff --git a/app/models/project_services/assembla_service.rb b/app/models/project_services/assembla_service.rb
index 29d841faed8..ffb7455b014 100644
--- a/app/models/project_services/assembla_service.rb
+++ b/app/models/project_services/assembla_service.rb
@@ -3,12 +3,12 @@
 # Table name: services
 #
 #  id                    :integer          not null, primary key
-#  type                  :string(255)
-#  title                 :string(255)
+#  type                  :string
+#  title                 :string
 #  project_id            :integer
-#  created_at            :datetime
-#  updated_at            :datetime
-#  active                :boolean          default(FALSE), not null
+#  created_at            :datetime         not null
+#  updated_at            :datetime         not null
+#  active                :boolean          not null
 #  properties            :text
 #  template              :boolean          default(FALSE)
 #  push_events           :boolean          default(TRUE)
@@ -17,6 +17,9 @@
 #  tag_push_events       :boolean          default(TRUE)
 #  note_events           :boolean          default(TRUE), not null
 #  build_events          :boolean          default(FALSE), not null
+#  category              :string           default("common"), not null
+#  default               :boolean          default(FALSE)
+#  wiki_page_events      :boolean          default(TRUE)
 #
 
 class AssemblaService < Service
diff --git a/app/models/project_services/bamboo_service.rb b/app/models/project_services/bamboo_service.rb
index 060062aaf7a..c36ee95e378 100644
--- a/app/models/project_services/bamboo_service.rb
+++ b/app/models/project_services/bamboo_service.rb
@@ -3,12 +3,12 @@
 # Table name: services
 #
 #  id                    :integer          not null, primary key
-#  type                  :string(255)
-#  title                 :string(255)
+#  type                  :string
+#  title                 :string
 #  project_id            :integer
-#  created_at            :datetime
-#  updated_at            :datetime
-#  active                :boolean          default(FALSE), not null
+#  created_at            :datetime         not null
+#  updated_at            :datetime         not null
+#  active                :boolean          not null
 #  properties            :text
 #  template              :boolean          default(FALSE)
 #  push_events           :boolean          default(TRUE)
@@ -17,6 +17,9 @@
 #  tag_push_events       :boolean          default(TRUE)
 #  note_events           :boolean          default(TRUE), not null
 #  build_events          :boolean          default(FALSE), not null
+#  category              :string           default("common"), not null
+#  default               :boolean          default(FALSE)
+#  wiki_page_events      :boolean          default(TRUE)
 #
 
 class BambooService < CiService
diff --git a/app/models/project_services/buildkite_service.rb b/app/models/project_services/buildkite_service.rb
index 861cc974ec4..f9f4897a065 100644
--- a/app/models/project_services/buildkite_service.rb
+++ b/app/models/project_services/buildkite_service.rb
@@ -3,12 +3,12 @@
 # Table name: services
 #
 #  id                    :integer          not null, primary key
-#  type                  :string(255)
-#  title                 :string(255)
+#  type                  :string
+#  title                 :string
 #  project_id            :integer
-#  created_at            :datetime
-#  updated_at            :datetime
-#  active                :boolean          default(FALSE), not null
+#  created_at            :datetime         not null
+#  updated_at            :datetime         not null
+#  active                :boolean          not null
 #  properties            :text
 #  template              :boolean          default(FALSE)
 #  push_events           :boolean          default(TRUE)
@@ -17,6 +17,9 @@
 #  tag_push_events       :boolean          default(TRUE)
 #  note_events           :boolean          default(TRUE), not null
 #  build_events          :boolean          default(FALSE), not null
+#  category              :string           default("common"), not null
+#  default               :boolean          default(FALSE)
+#  wiki_page_events      :boolean          default(TRUE)
 #
 
 require "addressable/uri"
diff --git a/app/models/project_services/builds_email_service.rb b/app/models/project_services/builds_email_service.rb
index 6ab6d7417b7..20cdfcaffb2 100644
--- a/app/models/project_services/builds_email_service.rb
+++ b/app/models/project_services/builds_email_service.rb
@@ -3,12 +3,12 @@
 # Table name: services
 #
 #  id                    :integer          not null, primary key
-#  type                  :string(255)
-#  title                 :string(255)
+#  type                  :string
+#  title                 :string
 #  project_id            :integer
-#  created_at            :datetime
-#  updated_at            :datetime
-#  active                :boolean          default(FALSE), not null
+#  created_at            :datetime         not null
+#  updated_at            :datetime         not null
+#  active                :boolean          not null
 #  properties            :text
 #  template              :boolean          default(FALSE)
 #  push_events           :boolean          default(TRUE)
@@ -17,6 +17,9 @@
 #  tag_push_events       :boolean          default(TRUE)
 #  note_events           :boolean          default(TRUE), not null
 #  build_events          :boolean          default(FALSE), not null
+#  category              :string           default("common"), not null
+#  default               :boolean          default(FALSE)
+#  wiki_page_events      :boolean          default(TRUE)
 #
 
 class BuildsEmailService < Service
diff --git a/app/models/project_services/campfire_service.rb b/app/models/project_services/campfire_service.rb
index 6e8f0842524..28c969fe57f 100644
--- a/app/models/project_services/campfire_service.rb
+++ b/app/models/project_services/campfire_service.rb
@@ -3,12 +3,12 @@
 # Table name: services
 #
 #  id                    :integer          not null, primary key
-#  type                  :string(255)
-#  title                 :string(255)
+#  type                  :string
+#  title                 :string
 #  project_id            :integer
-#  created_at            :datetime
-#  updated_at            :datetime
-#  active                :boolean          default(FALSE), not null
+#  created_at            :datetime         not null
+#  updated_at            :datetime         not null
+#  active                :boolean          not null
 #  properties            :text
 #  template              :boolean          default(FALSE)
 #  push_events           :boolean          default(TRUE)
@@ -17,6 +17,9 @@
 #  tag_push_events       :boolean          default(TRUE)
 #  note_events           :boolean          default(TRUE), not null
 #  build_events          :boolean          default(FALSE), not null
+#  category              :string           default("common"), not null
+#  default               :boolean          default(FALSE)
+#  wiki_page_events      :boolean          default(TRUE)
 #
 
 class CampfireService < Service
diff --git a/app/models/project_services/ci_service.rb b/app/models/project_services/ci_service.rb
index d9f0849d147..9bc8f982da6 100644
--- a/app/models/project_services/ci_service.rb
+++ b/app/models/project_services/ci_service.rb
@@ -3,12 +3,12 @@
 # Table name: services
 #
 #  id                    :integer          not null, primary key
-#  type                  :string(255)
-#  title                 :string(255)
+#  type                  :string
+#  title                 :string
 #  project_id            :integer
-#  created_at            :datetime
-#  updated_at            :datetime
-#  active                :boolean          default(FALSE), not null
+#  created_at            :datetime         not null
+#  updated_at            :datetime         not null
+#  active                :boolean          not null
 #  properties            :text
 #  template              :boolean          default(FALSE)
 #  push_events           :boolean          default(TRUE)
@@ -17,6 +17,9 @@
 #  tag_push_events       :boolean          default(TRUE)
 #  note_events           :boolean          default(TRUE), not null
 #  build_events          :boolean          default(FALSE), not null
+#  category              :string           default("common"), not null
+#  default               :boolean          default(FALSE)
+#  wiki_page_events      :boolean          default(TRUE)
 #
 
 # Base class for CI services
diff --git a/app/models/project_services/custom_issue_tracker_service.rb b/app/models/project_services/custom_issue_tracker_service.rb
index 88a3e9218cb..4d1319eb6f8 100644
--- a/app/models/project_services/custom_issue_tracker_service.rb
+++ b/app/models/project_services/custom_issue_tracker_service.rb
@@ -3,12 +3,12 @@
 # Table name: services
 #
 #  id                    :integer          not null, primary key
-#  type                  :string(255)
-#  title                 :string(255)
+#  type                  :string
+#  title                 :string
 #  project_id            :integer
-#  created_at            :datetime
-#  updated_at            :datetime
-#  active                :boolean          default(FALSE), not null
+#  created_at            :datetime         not null
+#  updated_at            :datetime         not null
+#  active                :boolean          not null
 #  properties            :text
 #  template              :boolean          default(FALSE)
 #  push_events           :boolean          default(TRUE)
@@ -17,6 +17,9 @@
 #  tag_push_events       :boolean          default(TRUE)
 #  note_events           :boolean          default(TRUE), not null
 #  build_events          :boolean          default(FALSE), not null
+#  category              :string           default("common"), not null
+#  default               :boolean          default(FALSE)
+#  wiki_page_events      :boolean          default(TRUE)
 #
 
 class CustomIssueTrackerService < IssueTrackerService
diff --git a/app/models/project_services/drone_ci_service.rb b/app/models/project_services/drone_ci_service.rb
index b4724bb647e..d8e00e018cc 100644
--- a/app/models/project_services/drone_ci_service.rb
+++ b/app/models/project_services/drone_ci_service.rb
@@ -3,12 +3,12 @@
 # Table name: services
 #
 #  id                    :integer          not null, primary key
-#  type                  :string(255)
-#  title                 :string(255)
+#  type                  :string
+#  title                 :string
 #  project_id            :integer
-#  created_at            :datetime
-#  updated_at            :datetime
-#  active                :boolean          default(FALSE), not null
+#  created_at            :datetime         not null
+#  updated_at            :datetime         not null
+#  active                :boolean          not null
 #  properties            :text
 #  template              :boolean          default(FALSE)
 #  push_events           :boolean          default(TRUE)
@@ -17,6 +17,9 @@
 #  tag_push_events       :boolean          default(TRUE)
 #  note_events           :boolean          default(TRUE), not null
 #  build_events          :boolean          default(FALSE), not null
+#  category              :string           default("common"), not null
+#  default               :boolean          default(FALSE)
+#  wiki_page_events      :boolean          default(TRUE)
 #
 
 class DroneCiService < CiService
diff --git a/app/models/project_services/emails_on_push_service.rb b/app/models/project_services/emails_on_push_service.rb
index b831577cd97..2dbd29062df 100644
--- a/app/models/project_services/emails_on_push_service.rb
+++ b/app/models/project_services/emails_on_push_service.rb
@@ -3,12 +3,12 @@
 # Table name: services
 #
 #  id                    :integer          not null, primary key
-#  type                  :string(255)
-#  title                 :string(255)
+#  type                  :string
+#  title                 :string
 #  project_id            :integer
-#  created_at            :datetime
-#  updated_at            :datetime
-#  active                :boolean          default(FALSE), not null
+#  created_at            :datetime         not null
+#  updated_at            :datetime         not null
+#  active                :boolean          not null
 #  properties            :text
 #  template              :boolean          default(FALSE)
 #  push_events           :boolean          default(TRUE)
@@ -17,6 +17,9 @@
 #  tag_push_events       :boolean          default(TRUE)
 #  note_events           :boolean          default(TRUE), not null
 #  build_events          :boolean          default(FALSE), not null
+#  category              :string           default("common"), not null
+#  default               :boolean          default(FALSE)
+#  wiki_page_events      :boolean          default(TRUE)
 #
 
 class EmailsOnPushService < Service
diff --git a/app/models/project_services/external_wiki_service.rb b/app/models/project_services/external_wiki_service.rb
index b402b68665a..5469049bb5e 100644
--- a/app/models/project_services/external_wiki_service.rb
+++ b/app/models/project_services/external_wiki_service.rb
@@ -3,12 +3,12 @@
 # Table name: services
 #
 #  id                    :integer          not null, primary key
-#  type                  :string(255)
-#  title                 :string(255)
+#  type                  :string
+#  title                 :string
 #  project_id            :integer
-#  created_at            :datetime
-#  updated_at            :datetime
-#  active                :boolean          default(FALSE), not null
+#  created_at            :datetime         not null
+#  updated_at            :datetime         not null
+#  active                :boolean          not null
 #  properties            :text
 #  template              :boolean          default(FALSE)
 #  push_events           :boolean          default(TRUE)
@@ -17,6 +17,9 @@
 #  tag_push_events       :boolean          default(TRUE)
 #  note_events           :boolean          default(TRUE), not null
 #  build_events          :boolean          default(FALSE), not null
+#  category              :string           default("common"), not null
+#  default               :boolean          default(FALSE)
+#  wiki_page_events      :boolean          default(TRUE)
 #
 
 class ExternalWikiService < Service
diff --git a/app/models/project_services/flowdock_service.rb b/app/models/project_services/flowdock_service.rb
index 8605ce66e48..3dc1e0fbe8b 100644
--- a/app/models/project_services/flowdock_service.rb
+++ b/app/models/project_services/flowdock_service.rb
@@ -3,12 +3,12 @@
 # Table name: services
 #
 #  id                    :integer          not null, primary key
-#  type                  :string(255)
-#  title                 :string(255)
+#  type                  :string
+#  title                 :string
 #  project_id            :integer
-#  created_at            :datetime
-#  updated_at            :datetime
-#  active                :boolean          default(FALSE), not null
+#  created_at            :datetime         not null
+#  updated_at            :datetime         not null
+#  active                :boolean          not null
 #  properties            :text
 #  template              :boolean          default(FALSE)
 #  push_events           :boolean          default(TRUE)
@@ -17,6 +17,9 @@
 #  tag_push_events       :boolean          default(TRUE)
 #  note_events           :boolean          default(TRUE), not null
 #  build_events          :boolean          default(FALSE), not null
+#  category              :string           default("common"), not null
+#  default               :boolean          default(FALSE)
+#  wiki_page_events      :boolean          default(TRUE)
 #
 
 require "flowdock-git-hook"
diff --git a/app/models/project_services/gemnasium_service.rb b/app/models/project_services/gemnasium_service.rb
index 61babe9cfe5..b4c311cf664 100644
--- a/app/models/project_services/gemnasium_service.rb
+++ b/app/models/project_services/gemnasium_service.rb
@@ -3,12 +3,12 @@
 # Table name: services
 #
 #  id                    :integer          not null, primary key
-#  type                  :string(255)
-#  title                 :string(255)
+#  type                  :string
+#  title                 :string
 #  project_id            :integer
-#  created_at            :datetime
-#  updated_at            :datetime
-#  active                :boolean          default(FALSE), not null
+#  created_at            :datetime         not null
+#  updated_at            :datetime         not null
+#  active                :boolean          not null
 #  properties            :text
 #  template              :boolean          default(FALSE)
 #  push_events           :boolean          default(TRUE)
@@ -17,6 +17,9 @@
 #  tag_push_events       :boolean          default(TRUE)
 #  note_events           :boolean          default(TRUE), not null
 #  build_events          :boolean          default(FALSE), not null
+#  category              :string           default("common"), not null
+#  default               :boolean          default(FALSE)
+#  wiki_page_events      :boolean          default(TRUE)
 #
 
 require "gemnasium/gitlab_service"
diff --git a/app/models/project_services/gitlab_ci_service.rb b/app/models/project_services/gitlab_ci_service.rb
index 33f0d7ea01a..a92f7226083 100644
--- a/app/models/project_services/gitlab_ci_service.rb
+++ b/app/models/project_services/gitlab_ci_service.rb
@@ -3,12 +3,12 @@
 # Table name: services
 #
 #  id                    :integer          not null, primary key
-#  type                  :string(255)
-#  title                 :string(255)
+#  type                  :string
+#  title                 :string
 #  project_id            :integer
-#  created_at            :datetime
-#  updated_at            :datetime
-#  active                :boolean          default(FALSE), not null
+#  created_at            :datetime         not null
+#  updated_at            :datetime         not null
+#  active                :boolean          not null
 #  properties            :text
 #  template              :boolean          default(FALSE)
 #  push_events           :boolean          default(TRUE)
@@ -17,6 +17,9 @@
 #  tag_push_events       :boolean          default(TRUE)
 #  note_events           :boolean          default(TRUE), not null
 #  build_events          :boolean          default(FALSE), not null
+#  category              :string           default("common"), not null
+#  default               :boolean          default(FALSE)
+#  wiki_page_events      :boolean          default(TRUE)
 #
 
 # TODO(ayufan): The GitLabCiService is deprecated and the type should be removed when the database entries are removed
diff --git a/app/models/project_services/gitlab_issue_tracker_service.rb b/app/models/project_services/gitlab_issue_tracker_service.rb
index eaa5654b9c6..1adaeeb3b2b 100644
--- a/app/models/project_services/gitlab_issue_tracker_service.rb
+++ b/app/models/project_services/gitlab_issue_tracker_service.rb
@@ -3,12 +3,12 @@
 # Table name: services
 #
 #  id                    :integer          not null, primary key
-#  type                  :string(255)
-#  title                 :string(255)
+#  type                  :string
+#  title                 :string
 #  project_id            :integer
-#  created_at            :datetime
-#  updated_at            :datetime
-#  active                :boolean          default(FALSE), not null
+#  created_at            :datetime         not null
+#  updated_at            :datetime         not null
+#  active                :boolean          not null
 #  properties            :text
 #  template              :boolean          default(FALSE)
 #  push_events           :boolean          default(TRUE)
@@ -17,6 +17,9 @@
 #  tag_push_events       :boolean          default(TRUE)
 #  note_events           :boolean          default(TRUE), not null
 #  build_events          :boolean          default(FALSE), not null
+#  category              :string           default("common"), not null
+#  default               :boolean          default(FALSE)
+#  wiki_page_events      :boolean          default(TRUE)
 #
 
 class GitlabIssueTrackerService < IssueTrackerService
diff --git a/app/models/project_services/hipchat_service.rb b/app/models/project_services/hipchat_service.rb
index 064ef8e8674..f9ddf588722 100644
--- a/app/models/project_services/hipchat_service.rb
+++ b/app/models/project_services/hipchat_service.rb
@@ -3,12 +3,12 @@
 # Table name: services
 #
 #  id                    :integer          not null, primary key
-#  type                  :string(255)
-#  title                 :string(255)
+#  type                  :string
+#  title                 :string
 #  project_id            :integer
-#  created_at            :datetime
-#  updated_at            :datetime
-#  active                :boolean          default(FALSE), not null
+#  created_at            :datetime         not null
+#  updated_at            :datetime         not null
+#  active                :boolean          not null
 #  properties            :text
 #  template              :boolean          default(FALSE)
 #  push_events           :boolean          default(TRUE)
@@ -17,6 +17,9 @@
 #  tag_push_events       :boolean          default(TRUE)
 #  note_events           :boolean          default(TRUE), not null
 #  build_events          :boolean          default(FALSE), not null
+#  category              :string           default("common"), not null
+#  default               :boolean          default(FALSE)
+#  wiki_page_events      :boolean          default(TRUE)
 #
 
 class HipchatService < Service
diff --git a/app/models/project_services/irker_service.rb b/app/models/project_services/irker_service.rb
index 04c714bfaad..b9a592d7096 100644
--- a/app/models/project_services/irker_service.rb
+++ b/app/models/project_services/irker_service.rb
@@ -3,12 +3,12 @@
 # Table name: services
 #
 #  id                    :integer          not null, primary key
-#  type                  :string(255)
-#  title                 :string(255)
+#  type                  :string
+#  title                 :string
 #  project_id            :integer
-#  created_at            :datetime
-#  updated_at            :datetime
-#  active                :boolean          default(FALSE), not null
+#  created_at            :datetime         not null
+#  updated_at            :datetime         not null
+#  active                :boolean          not null
 #  properties            :text
 #  template              :boolean          default(FALSE)
 #  push_events           :boolean          default(TRUE)
@@ -17,6 +17,9 @@
 #  tag_push_events       :boolean          default(TRUE)
 #  note_events           :boolean          default(TRUE), not null
 #  build_events          :boolean          default(FALSE), not null
+#  category              :string           default("common"), not null
+#  default               :boolean          default(FALSE)
+#  wiki_page_events      :boolean          default(TRUE)
 #
 
 require 'uri'
diff --git a/app/models/project_services/issue_tracker_service.rb b/app/models/project_services/issue_tracker_service.rb
index c5501e06411..98a3a7c6b86 100644
--- a/app/models/project_services/issue_tracker_service.rb
+++ b/app/models/project_services/issue_tracker_service.rb
@@ -3,12 +3,12 @@
 # Table name: services
 #
 #  id                    :integer          not null, primary key
-#  type                  :string(255)
-#  title                 :string(255)
+#  type                  :string
+#  title                 :string
 #  project_id            :integer
-#  created_at            :datetime
-#  updated_at            :datetime
-#  active                :boolean          default(FALSE), not null
+#  created_at            :datetime         not null
+#  updated_at            :datetime         not null
+#  active                :boolean          not null
 #  properties            :text
 #  template              :boolean          default(FALSE)
 #  push_events           :boolean          default(TRUE)
@@ -17,6 +17,9 @@
 #  tag_push_events       :boolean          default(TRUE)
 #  note_events           :boolean          default(TRUE), not null
 #  build_events          :boolean          default(FALSE), not null
+#  category              :string           default("common"), not null
+#  default               :boolean          default(FALSE)
+#  wiki_page_events      :boolean          default(TRUE)
 #
 
 class IssueTrackerService < Service
diff --git a/app/models/project_services/jira_service.rb b/app/models/project_services/jira_service.rb
index b4418ba9284..ba68658f0bd 100644
--- a/app/models/project_services/jira_service.rb
+++ b/app/models/project_services/jira_service.rb
@@ -3,12 +3,12 @@
 # Table name: services
 #
 #  id                    :integer          not null, primary key
-#  type                  :string(255)
-#  title                 :string(255)
+#  type                  :string
+#  title                 :string
 #  project_id            :integer
-#  created_at            :datetime
-#  updated_at            :datetime
-#  active                :boolean          default(FALSE), not null
+#  created_at            :datetime         not null
+#  updated_at            :datetime         not null
+#  active                :boolean          not null
 #  properties            :text
 #  template              :boolean          default(FALSE)
 #  push_events           :boolean          default(TRUE)
@@ -17,6 +17,9 @@
 #  tag_push_events       :boolean          default(TRUE)
 #  note_events           :boolean          default(TRUE), not null
 #  build_events          :boolean          default(FALSE), not null
+#  category              :string           default("common"), not null
+#  default               :boolean          default(FALSE)
+#  wiki_page_events      :boolean          default(TRUE)
 #
 
 class JiraService < IssueTrackerService
diff --git a/app/models/project_services/pivotaltracker_service.rb b/app/models/project_services/pivotaltracker_service.rb
index c9a890c7e3f..acaa0c39365 100644
--- a/app/models/project_services/pivotaltracker_service.rb
+++ b/app/models/project_services/pivotaltracker_service.rb
@@ -3,12 +3,12 @@
 # Table name: services
 #
 #  id                    :integer          not null, primary key
-#  type                  :string(255)
-#  title                 :string(255)
+#  type                  :string
+#  title                 :string
 #  project_id            :integer
-#  created_at            :datetime
-#  updated_at            :datetime
-#  active                :boolean          default(FALSE), not null
+#  created_at            :datetime         not null
+#  updated_at            :datetime         not null
+#  active                :boolean          not null
 #  properties            :text
 #  template              :boolean          default(FALSE)
 #  push_events           :boolean          default(TRUE)
@@ -17,6 +17,9 @@
 #  tag_push_events       :boolean          default(TRUE)
 #  note_events           :boolean          default(TRUE), not null
 #  build_events          :boolean          default(FALSE), not null
+#  category              :string           default("common"), not null
+#  default               :boolean          default(FALSE)
+#  wiki_page_events      :boolean          default(TRUE)
 #
 
 class PivotaltrackerService < Service
diff --git a/app/models/project_services/pushover_service.rb b/app/models/project_services/pushover_service.rb
index e76d9eca2ab..a640c8cb440 100644
--- a/app/models/project_services/pushover_service.rb
+++ b/app/models/project_services/pushover_service.rb
@@ -3,12 +3,12 @@
 # Table name: services
 #
 #  id                    :integer          not null, primary key
-#  type                  :string(255)
-#  title                 :string(255)
+#  type                  :string
+#  title                 :string
 #  project_id            :integer
-#  created_at            :datetime
-#  updated_at            :datetime
-#  active                :boolean          default(FALSE), not null
+#  created_at            :datetime         not null
+#  updated_at            :datetime         not null
+#  active                :boolean          not null
 #  properties            :text
 #  template              :boolean          default(FALSE)
 #  push_events           :boolean          default(TRUE)
@@ -17,6 +17,9 @@
 #  tag_push_events       :boolean          default(TRUE)
 #  note_events           :boolean          default(TRUE), not null
 #  build_events          :boolean          default(FALSE), not null
+#  category              :string           default("common"), not null
+#  default               :boolean          default(FALSE)
+#  wiki_page_events      :boolean          default(TRUE)
 #
 
 class PushoverService < Service
diff --git a/app/models/project_services/redmine_service.rb b/app/models/project_services/redmine_service.rb
index de974354c77..e2137e92c62 100644
--- a/app/models/project_services/redmine_service.rb
+++ b/app/models/project_services/redmine_service.rb
@@ -3,12 +3,12 @@
 # Table name: services
 #
 #  id                    :integer          not null, primary key
-#  type                  :string(255)
-#  title                 :string(255)
+#  type                  :string
+#  title                 :string
 #  project_id            :integer
-#  created_at            :datetime
-#  updated_at            :datetime
-#  active                :boolean          default(FALSE), not null
+#  created_at            :datetime         not null
+#  updated_at            :datetime         not null
+#  active                :boolean          not null
 #  properties            :text
 #  template              :boolean          default(FALSE)
 #  push_events           :boolean          default(TRUE)
@@ -17,6 +17,9 @@
 #  tag_push_events       :boolean          default(TRUE)
 #  note_events           :boolean          default(TRUE), not null
 #  build_events          :boolean          default(FALSE), not null
+#  category              :string           default("common"), not null
+#  default               :boolean          default(FALSE)
+#  wiki_page_events      :boolean          default(TRUE)
 #
 
 class RedmineService < IssueTrackerService
diff --git a/app/models/project_services/slack_service.rb b/app/models/project_services/slack_service.rb
index 7092b757549..83ffa53a407 100644
--- a/app/models/project_services/slack_service.rb
+++ b/app/models/project_services/slack_service.rb
@@ -3,12 +3,12 @@
 # Table name: services
 #
 #  id                    :integer          not null, primary key
-#  type                  :string(255)
-#  title                 :string(255)
+#  type                  :string
+#  title                 :string
 #  project_id            :integer
-#  created_at            :datetime
-#  updated_at            :datetime
-#  active                :boolean          default(FALSE), not null
+#  created_at            :datetime         not null
+#  updated_at            :datetime         not null
+#  active                :boolean          not null
 #  properties            :text
 #  template              :boolean          default(FALSE)
 #  push_events           :boolean          default(TRUE)
@@ -17,6 +17,9 @@
 #  tag_push_events       :boolean          default(TRUE)
 #  note_events           :boolean          default(TRUE), not null
 #  build_events          :boolean          default(FALSE), not null
+#  category              :string           default("common"), not null
+#  default               :boolean          default(FALSE)
+#  wiki_page_events      :boolean          default(TRUE)
 #
 
 class SlackService < Service
diff --git a/app/models/project_services/teamcity_service.rb b/app/models/project_services/teamcity_service.rb
index 8dceee5e2c5..4015da31509 100644
--- a/app/models/project_services/teamcity_service.rb
+++ b/app/models/project_services/teamcity_service.rb
@@ -3,12 +3,12 @@
 # Table name: services
 #
 #  id                    :integer          not null, primary key
-#  type                  :string(255)
-#  title                 :string(255)
+#  type                  :string
+#  title                 :string
 #  project_id            :integer
-#  created_at            :datetime
-#  updated_at            :datetime
-#  active                :boolean          default(FALSE), not null
+#  created_at            :datetime         not null
+#  updated_at            :datetime         not null
+#  active                :boolean          not null
 #  properties            :text
 #  template              :boolean          default(FALSE)
 #  push_events           :boolean          default(TRUE)
@@ -17,6 +17,9 @@
 #  tag_push_events       :boolean          default(TRUE)
 #  note_events           :boolean          default(TRUE), not null
 #  build_events          :boolean          default(FALSE), not null
+#  category              :string           default("common"), not null
+#  default               :boolean          default(FALSE)
+#  wiki_page_events      :boolean          default(TRUE)
 #
 
 class TeamcityService < CiService
diff --git a/app/models/project_snippet.rb b/app/models/project_snippet.rb
index d48f0546159..b4b2807eba4 100644
--- a/app/models/project_snippet.rb
+++ b/app/models/project_snippet.rb
@@ -3,14 +3,14 @@
 # Table name: snippets
 #
 #  id               :integer          not null, primary key
-#  title            :string(255)
+#  title            :string
 #  content          :text
 #  author_id        :integer          not null
 #  project_id       :integer
 #  created_at       :datetime
 #  updated_at       :datetime
-#  file_name        :string(255)
-#  type             :string(255)
+#  file_name        :string
+#  type             :string
 #  visibility_level :integer          default(0), not null
 #
 
diff --git a/app/models/protected_branch.rb b/app/models/protected_branch.rb
index 8ebd790a89e..3d2052c892c 100644
--- a/app/models/protected_branch.rb
+++ b/app/models/protected_branch.rb
@@ -4,7 +4,7 @@
 #
 #  id                  :integer          not null, primary key
 #  project_id          :integer          not null
-#  name                :string(255)      not null
+#  name                :string           not null
 #  created_at          :datetime
 #  updated_at          :datetime
 #  developers_can_push :boolean          default(FALSE), not null
diff --git a/app/models/release.rb b/app/models/release.rb
index 89f70278af5..dc700d1ea5a 100644
--- a/app/models/release.rb
+++ b/app/models/release.rb
@@ -3,7 +3,7 @@
 # Table name: releases
 #
 #  id          :integer          not null, primary key
-#  tag         :string(255)
+#  tag         :string
 #  description :text
 #  project_id  :integer
 #  created_at  :datetime
diff --git a/app/models/security_event.rb b/app/models/security_event.rb
index 68c00adad59..0bee03974f1 100644
--- a/app/models/security_event.rb
+++ b/app/models/security_event.rb
@@ -4,9 +4,9 @@
 #
 #  id          :integer          not null, primary key
 #  author_id   :integer          not null
-#  type        :string(255)      not null
+#  type        :string           not null
 #  entity_id   :integer          not null
-#  entity_type :string(255)      not null
+#  entity_type :string           not null
 #  details     :text
 #  created_at  :datetime
 #  updated_at  :datetime
diff --git a/app/models/sent_notification.rb b/app/models/sent_notification.rb
index 77115597d71..99279a2e083 100644
--- a/app/models/sent_notification.rb
+++ b/app/models/sent_notification.rb
@@ -5,11 +5,11 @@
 #  id            :integer          not null, primary key
 #  project_id    :integer
 #  noteable_id   :integer
-#  noteable_type :string(255)
+#  noteable_type :string
 #  recipient_id  :integer
-#  commit_id     :string(255)
-#  line_code     :string(255)
-#  reply_key     :string(255)      not null
+#  commit_id     :string
+#  reply_key     :string           not null
+#  line_code     :string
 #
 
 class SentNotification < ActiveRecord::Base
diff --git a/app/models/service.rb b/app/models/service.rb
index 2645b8321d7..bf16a545307 100644
--- a/app/models/service.rb
+++ b/app/models/service.rb
@@ -3,12 +3,12 @@
 # Table name: services
 #
 #  id                    :integer          not null, primary key
-#  type                  :string(255)
-#  title                 :string(255)
+#  type                  :string
+#  title                 :string
 #  project_id            :integer
-#  created_at            :datetime
-#  updated_at            :datetime
-#  active                :boolean          default(FALSE), not null
+#  created_at            :datetime         not null
+#  updated_at            :datetime         not null
+#  active                :boolean          not null
 #  properties            :text
 #  template              :boolean          default(FALSE)
 #  push_events           :boolean          default(TRUE)
@@ -17,6 +17,9 @@
 #  tag_push_events       :boolean          default(TRUE)
 #  note_events           :boolean          default(TRUE), not null
 #  build_events          :boolean          default(FALSE), not null
+#  category              :string           default("common"), not null
+#  default               :boolean          default(FALSE)
+#  wiki_page_events      :boolean          default(TRUE)
 #
 
 # To add new service you should build a class inherited from Service
diff --git a/app/models/snippet.rb b/app/models/snippet.rb
index 0fd08061925..2f905a90942 100644
--- a/app/models/snippet.rb
+++ b/app/models/snippet.rb
@@ -3,14 +3,14 @@
 # Table name: snippets
 #
 #  id               :integer          not null, primary key
-#  title            :string(255)
+#  title            :string
 #  content          :text
 #  author_id        :integer          not null
 #  project_id       :integer
 #  created_at       :datetime
 #  updated_at       :datetime
-#  file_name        :string(255)
-#  type             :string(255)
+#  file_name        :string
+#  type             :string
 #  visibility_level :integer          default(0), not null
 #
 
diff --git a/app/models/spam_log.rb b/app/models/spam_log.rb
index 12df68ef83b..f49eb7d88e2 100644
--- a/app/models/spam_log.rb
+++ b/app/models/spam_log.rb
@@ -1,3 +1,20 @@
+# == Schema Information
+#
+# Table name: spam_logs
+#
+#  id            :integer          not null, primary key
+#  user_id       :integer
+#  source_ip     :string
+#  user_agent    :string
+#  via_api       :boolean
+#  project_id    :integer
+#  noteable_type :string
+#  title         :string
+#  description   :text
+#  created_at    :datetime         not null
+#  updated_at    :datetime         not null
+#
+
 class SpamLog < ActiveRecord::Base
   belongs_to :user
 
diff --git a/app/models/subscription.rb b/app/models/subscription.rb
index dd800ce110f..242faa7d32e 100644
--- a/app/models/subscription.rb
+++ b/app/models/subscription.rb
@@ -5,7 +5,7 @@
 #  id                :integer          not null, primary key
 #  user_id           :integer
 #  subscribable_id   :integer
-#  subscribable_type :string(255)
+#  subscribable_type :string
 #  subscribed        :boolean
 #  created_at        :datetime
 #  updated_at        :datetime
diff --git a/app/models/user.rb b/app/models/user.rb
index ab48f8f1960..959b1f93758 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -3,55 +3,55 @@
 # Table name: users
 #
 #  id                          :integer          not null, primary key
-#  email                       :string(255)      default(""), not null
-#  encrypted_password          :string(255)      default(""), not null
-#  reset_password_token        :string(255)
+#  email                       :string           default(""), not null
+#  encrypted_password          :string           default(""), not null
+#  reset_password_token        :string
 #  reset_password_sent_at      :datetime
 #  remember_created_at         :datetime
 #  sign_in_count               :integer          default(0)
 #  current_sign_in_at          :datetime
 #  last_sign_in_at             :datetime
-#  current_sign_in_ip          :string(255)
-#  last_sign_in_ip             :string(255)
+#  current_sign_in_ip          :string
+#  last_sign_in_ip             :string
 #  created_at                  :datetime
 #  updated_at                  :datetime
-#  name                        :string(255)
+#  name                        :string
 #  admin                       :boolean          default(FALSE), not null
 #  projects_limit              :integer          default(10)
-#  skype                       :string(255)      default(""), not null
-#  linkedin                    :string(255)      default(""), not null
-#  twitter                     :string(255)      default(""), not null
-#  authentication_token        :string(255)
+#  skype                       :string           default(""), not null
+#  linkedin                    :string           default(""), not null
+#  twitter                     :string           default(""), not null
+#  authentication_token        :string
 #  theme_id                    :integer          default(1), not null
-#  bio                         :string(255)
+#  bio                         :string
 #  failed_attempts             :integer          default(0)
 #  locked_at                   :datetime
-#  username                    :string(255)
+#  username                    :string
 #  can_create_group            :boolean          default(TRUE), not null
 #  can_create_team             :boolean          default(TRUE), not null
-#  state                       :string(255)
+#  state                       :string
 #  color_scheme_id             :integer          default(1), not null
 #  notification_level          :integer          default(1), not null
 #  password_expires_at         :datetime
 #  created_by_id               :integer
 #  last_credential_check_at    :datetime
-#  avatar                      :string(255)
-#  confirmation_token          :string(255)
+#  avatar                      :string
+#  confirmation_token          :string
 #  confirmed_at                :datetime
 #  confirmation_sent_at        :datetime
-#  unconfirmed_email           :string(255)
+#  unconfirmed_email           :string
 #  hide_no_ssh_key             :boolean          default(FALSE)
-#  website_url                 :string(255)      default(""), not null
-#  notification_email          :string(255)
+#  website_url                 :string           default(""), not null
+#  notification_email          :string
 #  hide_no_password            :boolean          default(FALSE)
 #  password_automatically_set  :boolean          default(FALSE)
-#  location                    :string(255)
-#  encrypted_otp_secret        :string(255)
-#  encrypted_otp_secret_iv     :string(255)
-#  encrypted_otp_secret_salt   :string(255)
+#  location                    :string
+#  encrypted_otp_secret        :string
+#  encrypted_otp_secret_iv     :string
+#  encrypted_otp_secret_salt   :string
 #  otp_required_for_login      :boolean          default(FALSE), not null
 #  otp_backup_codes            :text
-#  public_email                :string(255)      default(""), not null
+#  public_email                :string           default(""), not null
 #  dashboard                   :integer          default(0)
 #  project_view                :integer          default(0)
 #  consumed_timestep           :integer
@@ -59,7 +59,8 @@
 #  hide_project_limit          :boolean          default(FALSE)
 #  unlock_token                :string
 #  otp_grace_period_started_at :datetime
-#  external                    :boolean           default(FALSE)
+#  ldap_email                  :boolean          default(FALSE), not null
+#  external                    :boolean          default(FALSE)
 #
 
 require 'carrierwave/orm/activerecord'
-- 
GitLab