Commit 2541e50d authored by Kamil Trzcinski's avatar Kamil Trzcinski

Improve validations

parent 14a02a6a
class Deployment < ActiveRecord::Base class Deployment < ActiveRecord::Base
include InternalId include InternalId
belongs_to :project belongs_to :project, required: true
belongs_to :environment belongs_to :environment, required: true
belongs_to :user belongs_to :user
belongs_to :deployable, polymorphic: true belongs_to :deployable, polymorphic: true
validates :sha, presence: true validates :sha, presence: true
validates :ref, presence: true validates :ref, presence: true
validates :project, associated: true
validates :environment, associated: true
delegate :name, to: :environment, prefix: true delegate :name, to: :environment, prefix: true
......
class Environment < ActiveRecord::Base class Environment < ActiveRecord::Base
belongs_to :project belongs_to :project, required: true
has_many :deployments has_many :deployments
...@@ -10,8 +10,6 @@ class Environment < ActiveRecord::Base ...@@ -10,8 +10,6 @@ class Environment < ActiveRecord::Base
format: { with: Gitlab::Regex.environment_name_regex, format: { with: Gitlab::Regex.environment_name_regex,
message: Gitlab::Regex.environment_name_regex_message } message: Gitlab::Regex.environment_name_regex_message }
validates :project, associated: true
def last_deployment def last_deployment
deployments.last deployments.last
end end
......
...@@ -6,12 +6,12 @@ class AddDeployments < ActiveRecord::Migration ...@@ -6,12 +6,12 @@ class AddDeployments < ActiveRecord::Migration
def change def change
create_table :deployments, force: true do |t| create_table :deployments, force: true do |t|
t.integer :iid t.integer :iid, null: false
t.integer :project_id t.integer :project_id, null: false
t.integer :environment_id t.integer :environment_id, null: false
t.string :ref t.string :ref, null: false
t.boolean :tag t.boolean :tag, null: false
t.string :sha t.string :sha, null: false
t.integer :user_id t.integer :user_id
t.integer :deployable_id t.integer :deployable_id
t.string :deployable_type t.string :deployable_type
......
...@@ -6,7 +6,7 @@ class AddEnvironments < ActiveRecord::Migration ...@@ -6,7 +6,7 @@ class AddEnvironments < ActiveRecord::Migration
def change def change
create_table :environments, force: true do |t| create_table :environments, force: true do |t|
t.integer :project_id t.integer :project_id, null: false
t.string :name, null: false t.string :name, null: false
t.datetime :created_at t.datetime :created_at
t.datetime :updated_at t.datetime :updated_at
......
...@@ -384,12 +384,12 @@ ActiveRecord::Schema.define(version: 20160610301627) do ...@@ -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 add_index "deploy_keys_projects", ["project_id"], name: "index_deploy_keys_projects_on_project_id", using: :btree
create_table "deployments", force: :cascade do |t| create_table "deployments", force: :cascade do |t|
t.integer "iid" t.integer "iid", null: false
t.integer "project_id" t.integer "project_id", null: false
t.integer "environment_id" t.integer "environment_id", null: false
t.string "ref" t.string "ref", null: false
t.boolean "tag" t.boolean "tag", null: false
t.string "sha" t.string "sha", null: false
t.integer "user_id" t.integer "user_id"
t.integer "deployable_id" t.integer "deployable_id"
t.string "deployable_type" t.string "deployable_type"
...@@ -413,7 +413,7 @@ ActiveRecord::Schema.define(version: 20160610301627) do ...@@ -413,7 +413,7 @@ ActiveRecord::Schema.define(version: 20160610301627) do
add_index "emails", ["user_id"], name: "index_emails_on_user_id", using: :btree add_index "emails", ["user_id"], name: "index_emails_on_user_id", using: :btree
create_table "environments", force: :cascade do |t| create_table "environments", force: :cascade do |t|
t.integer "project_id" t.integer "project_id", null: false
t.string "name", null: false t.string "name", null: false
t.datetime "created_at" t.datetime "created_at"
t.datetime "updated_at" t.datetime "updated_at"
......
...@@ -2,6 +2,7 @@ FactoryGirl.define do ...@@ -2,6 +2,7 @@ FactoryGirl.define do
factory :deployment, class: Deployment do factory :deployment, class: Deployment do
sha '97de212e80737a608d939f648d959671fb0a0142' sha '97de212e80737a608d939f648d959671fb0a0142'
ref 'master' ref 'master'
tag false
environment factory: :environment environment factory: :environment
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment