diff options
author | Yorick Peterse <yorickpeterse@gmail.com> | 2017-05-30 14:54:59 +0300 |
---|---|---|
committer | Yorick Peterse <yorickpeterse@gmail.com> | 2017-07-06 13:01:36 +0300 |
commit | c63e3221587daf9e7464f7d2079ca8ed3111f6ff (patch) | |
tree | 386eb322d420d4ddf5a4bff514334f686b58c9fb /spec/workers | |
parent | 050eae8c4dff87fef63e79eb60d927d0171b5f7b (diff) |
Add many foreign keys to the projects table
This removes the need for relying on Rails' "dependent" option for data
removal, which is _incredibly_ slow (even when using :delete_all) when
deleting large amounts of data. This also ensures data consistency is
enforced on DB level and not on application level (something Rails is
really bad at).
This commit also includes various migrations to add foreign keys to
tables that eventually point to "projects" to ensure no rows get
orphaned upon removing a project.
Diffstat (limited to 'spec/workers')
-rw-r--r-- | spec/workers/expire_build_instance_artifacts_worker_spec.rb | 14 |
1 files changed, 0 insertions, 14 deletions
diff --git a/spec/workers/expire_build_instance_artifacts_worker_spec.rb b/spec/workers/expire_build_instance_artifacts_worker_spec.rb index 1d8da68883b..bed5c5e2ecb 100644 --- a/spec/workers/expire_build_instance_artifacts_worker_spec.rb +++ b/spec/workers/expire_build_instance_artifacts_worker_spec.rb @@ -30,20 +30,6 @@ describe ExpireBuildInstanceArtifactsWorker do expect(build.reload.artifacts_file_identifier).to be_nil end end - - context 'when associated project was removed' do - let(:build) do - create(:ci_build, :artifacts, artifacts_expiry) do |build| - build.project.pending_delete = true - end - end - - it 'does not remove artifacts' do - expect do - build.reload.artifacts_file - end.not_to raise_error - end - end end context 'with not yet expired artifacts' do |