diff --git a/app/models/project.rb b/app/models/project.rb index be4960aef8af34c1fcffab32bbee207d9dbf8aaf..65745fd6d3707e91c57547cea7973e675ee654b4 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -175,7 +175,7 @@ class Project < ActiveRecord::Base has_many :builds, class_name: 'Ci::Build' # the builds are created from the commit_statuses has_many :runner_projects, dependent: :destroy, class_name: 'Ci::RunnerProject' has_many :runners, through: :runner_projects, source: :runner, class_name: 'Ci::Runner' - has_many :variables, dependent: :destroy, class_name: 'Ci::Variable' + has_many :variables, class_name: 'Ci::Variable' has_many :triggers, dependent: :destroy, class_name: 'Ci::Trigger' has_many :environments, dependent: :destroy has_many :deployments, dependent: :destroy diff --git a/changelogs/unreleased/zj-clean-up-ci-variables-table.yml b/changelogs/unreleased/zj-clean-up-ci-variables-table.yml new file mode 100644 index 0000000000000000000000000000000000000000..ea2db40d590351eb3d38f0d46a22a84bd95839a5 --- /dev/null +++ b/changelogs/unreleased/zj-clean-up-ci-variables-table.yml @@ -0,0 +1,4 @@ +--- +title: Cleanup ci_variables schema and table +merge_request: +author: diff --git a/db/migrate/20170508190732_add_foreign_key_to_ci_variables.rb b/db/migrate/20170508190732_add_foreign_key_to_ci_variables.rb index 1383732478777047c981f8e0e88de6dbb779b216..20ecaa2c36c2a02ef4241314574e7c987d1e8f5a 100644 --- a/db/migrate/20170508190732_add_foreign_key_to_ci_variables.rb +++ b/db/migrate/20170508190732_add_foreign_key_to_ci_variables.rb @@ -13,7 +13,6 @@ class AddForeignKeyToCiVariables < ActiveRecord::Migration FROM projects WHERE projects.id = ci_variables.project_id ) - OR ci_variables.project_id IS NULL SQL add_concurrent_foreign_key(:ci_variables, :projects, column: :project_id) diff --git a/spec/factories/ci/variables.rb b/spec/factories/ci/variables.rb index 6653f0bb5c3897578b8b411798f4f476ac2e1c5d..c5fba597c1cff6ea0c2664927c5cb9b8f410abde 100644 --- a/spec/factories/ci/variables.rb +++ b/spec/factories/ci/variables.rb @@ -2,5 +2,7 @@ FactoryGirl.define do factory :ci_variable, class: Ci::Variable do sequence(:key) { |n| "VARIABLE_#{n}" } value 'VARIABLE_VALUE' + + project factory: :empty_project end end diff --git a/spec/models/ci/variable_spec.rb b/spec/models/ci/variable_spec.rb index 048d25869bc92e2eb202457d55415279345f2796..fe8c52d53536df840b1e49c79d5d3673b1ca22f4 100644 --- a/spec/models/ci/variable_spec.rb +++ b/spec/models/ci/variable_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' describe Ci::Variable, models: true do - subject { Ci::Variable.new } + subject { build(:ci_variable) } let(:secret_value) { 'secret' }