Improve validations
This commit is contained in:
parent
14a02a6a95
commit
2541e50d7c
|
@ -1,15 +1,13 @@
|
|||
class Deployment < ActiveRecord::Base
|
||||
include InternalId
|
||||
|
||||
belongs_to :project
|
||||
belongs_to :environment
|
||||
belongs_to :project, required: true
|
||||
belongs_to :environment, required: true
|
||||
belongs_to :user
|
||||
belongs_to :deployable, polymorphic: true
|
||||
|
||||
validates :sha, presence: true
|
||||
validates :ref, presence: true
|
||||
validates :project, associated: true
|
||||
validates :environment, associated: true
|
||||
|
||||
delegate :name, to: :environment, prefix: true
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
class Environment < ActiveRecord::Base
|
||||
belongs_to :project
|
||||
belongs_to :project, required: true
|
||||
|
||||
has_many :deployments
|
||||
|
||||
|
@ -10,8 +10,6 @@ class Environment < ActiveRecord::Base
|
|||
format: { with: Gitlab::Regex.environment_name_regex,
|
||||
message: Gitlab::Regex.environment_name_regex_message }
|
||||
|
||||
validates :project, associated: true
|
||||
|
||||
def last_deployment
|
||||
deployments.last
|
||||
end
|
||||
|
|
|
@ -6,12 +6,12 @@ class AddDeployments < ActiveRecord::Migration
|
|||
|
||||
def change
|
||||
create_table :deployments, force: true do |t|
|
||||
t.integer :iid
|
||||
t.integer :project_id
|
||||
t.integer :environment_id
|
||||
t.string :ref
|
||||
t.boolean :tag
|
||||
t.string :sha
|
||||
t.integer :iid, null: false
|
||||
t.integer :project_id, null: false
|
||||
t.integer :environment_id, null: false
|
||||
t.string :ref, null: false
|
||||
t.boolean :tag, null: false
|
||||
t.string :sha, null: false
|
||||
t.integer :user_id
|
||||
t.integer :deployable_id
|
||||
t.string :deployable_type
|
||||
|
|
|
@ -6,7 +6,7 @@ class AddEnvironments < ActiveRecord::Migration
|
|||
|
||||
def change
|
||||
create_table :environments, force: true do |t|
|
||||
t.integer :project_id
|
||||
t.integer :project_id, null: false
|
||||
t.string :name, null: false
|
||||
t.datetime :created_at
|
||||
t.datetime :updated_at
|
||||
|
|
40
db/schema.rb
40
db/schema.rb
|
@ -384,12 +384,12 @@ ActiveRecord::Schema.define(version: 20160610301627) do
|
|||
add_index "deploy_keys_projects", ["project_id"], name: "index_deploy_keys_projects_on_project_id", using: :btree
|
||||
|
||||
create_table "deployments", force: :cascade do |t|
|
||||
t.integer "iid"
|
||||
t.integer "project_id"
|
||||
t.integer "environment_id"
|
||||
t.string "ref"
|
||||
t.boolean "tag"
|
||||
t.string "sha"
|
||||
t.integer "iid", null: false
|
||||
t.integer "project_id", null: false
|
||||
t.integer "environment_id", null: false
|
||||
t.string "ref", null: false
|
||||
t.boolean "tag", null: false
|
||||
t.string "sha", null: false
|
||||
t.integer "user_id"
|
||||
t.integer "deployable_id"
|
||||
t.string "deployable_type"
|
||||
|
@ -413,7 +413,7 @@ ActiveRecord::Schema.define(version: 20160610301627) do
|
|||
add_index "emails", ["user_id"], name: "index_emails_on_user_id", using: :btree
|
||||
|
||||
create_table "environments", force: :cascade do |t|
|
||||
t.integer "project_id"
|
||||
t.integer "project_id", null: false
|
||||
t.string "name", null: false
|
||||
t.datetime "created_at"
|
||||
t.datetime "updated_at"
|
||||
|
@ -777,37 +777,37 @@ ActiveRecord::Schema.define(version: 20160610301627) do
|
|||
t.datetime "created_at"
|
||||
t.datetime "updated_at"
|
||||
t.integer "creator_id"
|
||||
t.boolean "issues_enabled", default: true, null: false
|
||||
t.boolean "merge_requests_enabled", default: true, null: false
|
||||
t.boolean "wiki_enabled", default: true, null: false
|
||||
t.boolean "issues_enabled", default: true, null: false
|
||||
t.boolean "merge_requests_enabled", default: true, null: false
|
||||
t.boolean "wiki_enabled", default: true, null: false
|
||||
t.integer "namespace_id"
|
||||
t.boolean "snippets_enabled", default: true, null: false
|
||||
t.boolean "snippets_enabled", default: true, null: false
|
||||
t.datetime "last_activity_at"
|
||||
t.string "import_url"
|
||||
t.integer "visibility_level", default: 0, null: false
|
||||
t.boolean "archived", default: false, null: false
|
||||
t.integer "visibility_level", default: 0, null: false
|
||||
t.boolean "archived", default: false, null: false
|
||||
t.string "avatar"
|
||||
t.string "import_status"
|
||||
t.float "repository_size", default: 0.0
|
||||
t.integer "star_count", default: 0, null: false
|
||||
t.integer "star_count", default: 0, null: false
|
||||
t.string "import_type"
|
||||
t.string "import_source"
|
||||
t.integer "commit_count", default: 0
|
||||
t.text "import_error"
|
||||
t.integer "ci_id"
|
||||
t.boolean "builds_enabled", default: true, null: false
|
||||
t.boolean "shared_runners_enabled", default: true, null: false
|
||||
t.boolean "builds_enabled", default: true, null: false
|
||||
t.boolean "shared_runners_enabled", default: true, null: false
|
||||
t.string "runners_token"
|
||||
t.string "build_coverage_regex"
|
||||
t.boolean "build_allow_git_fetch", default: true, null: false
|
||||
t.integer "build_timeout", default: 3600, null: false
|
||||
t.boolean "build_allow_git_fetch", default: true, null: false
|
||||
t.integer "build_timeout", default: 3600, null: false
|
||||
t.boolean "pending_delete", default: false
|
||||
t.boolean "public_builds", default: true, null: false
|
||||
t.boolean "public_builds", default: true, null: false
|
||||
t.integer "pushes_since_gc", default: 0
|
||||
t.boolean "last_repository_check_failed"
|
||||
t.datetime "last_repository_check_at"
|
||||
t.boolean "container_registry_enabled"
|
||||
t.boolean "only_allow_merge_if_build_succeeds", default: false, null: false
|
||||
t.boolean "only_allow_merge_if_build_succeeds", default: false, null: false
|
||||
t.boolean "has_external_issue_tracker"
|
||||
end
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@ FactoryGirl.define do
|
|||
factory :deployment, class: Deployment do
|
||||
sha '97de212e80737a608d939f648d959671fb0a0142'
|
||||
ref 'master'
|
||||
tag false
|
||||
|
||||
environment factory: :environment
|
||||
|
||||
|
|
Loading…
Reference in New Issue