diff --git a/spec/tooling/danger/datateam_spec.rb b/spec/tooling/danger/datateam_spec.rb
index 9d8aaf0852071971a62fdb56901b0eee949cbe99..30b029ec6af6086d430adb80d8a09d8925cdf315 100644
--- a/spec/tooling/danger/datateam_spec.rb
+++ b/spec/tooling/danger/datateam_spec.rb
@@ -106,13 +106,28 @@
           mr_labels: ['type::maintenance'],
           impacted: false,
           impacted_files: %w[config/metrics/20210216182127_user_secret_detection_jobs.yml]
+        },
+        'with database metric files added' => {
+          added_files: %w[config/metrics/20210216182127_users_all.yml],
+          changed_lines: ['+data_source: database'],
+          mr_labels: ['type::maintenance'],
+          impacted: true,
+          impacted_files: %w[config/metrics/20210216182127_users_all.yml]
+        },
+        'with non-database metric files added' => {
+          added_files: %w[config/metrics/20210216182127_users_all.yml],
+          changed_lines: ['+data_source: internal_events'],
+          mr_labels: ['type::maintenance'],
+          impacted: false,
+          impacted_files: %w[config/metrics/20210216182127_users_all.yml]
         }
       }
     end
 
     with_them do
       before do
-        allow(fake_helper).to receive(:modified_files).and_return(modified_files)
+        allow(fake_helper).to receive(:modified_files).and_return(modified_files || [])
+        allow(fake_helper).to receive(:added_files).and_return(added_files || [])
         allow(fake_helper).to receive(:changed_lines).and_return(changed_lines)
         allow(fake_helper).to receive(:mr_labels).and_return(mr_labels)
         allow(fake_helper).to receive(:markdown_list).with(impacted_files).and_return(impacted_files.map { |item| "* `#{item}`" }.join("\n"))
diff --git a/tooling/danger/datateam.rb b/tooling/danger/datateam.rb
index 7100ac16f690ff01d32fc7028098dc980b94dbed..13aac22aa11f1516731b88172c7fae2c9f2397dd 100644
--- a/tooling/danger/datateam.rb
+++ b/tooling/danger/datateam.rb
@@ -17,6 +17,7 @@ module Datateam
       PERFORMANCE_INDICATOR_REGEX = %r{gmau|smau|paid_gmau|umau}
       METRIC_REMOVED = %r{\+status: removed}
       DATABASE_REGEX = %r{\Adb/structure\.sql}
+      DATABASE_METRIC_ADDED = %r{\+data_source: database}
       DATABASE_LINE_REMOVAL_REGEX = %r{\A-}
 
       def build_message
@@ -32,13 +33,21 @@ def impacted?
       private
 
       def data_warehouse_impact_files
-        @impacted_files ||= (metrics_changed_files + database_changed_files)
+        @impacted_files ||= (metrics_added_files + metrics_changed_files + database_changed_files)
       end
 
       def labelled_as_datawarehouse?
         helper.mr_labels.any? { |label| label.start_with?(DATA_WAREHOUSE_SCOPE) }
       end
 
+      def metrics_added_files
+        metrics_definitions_files = helper.added_files.grep(FILE_PATH_REGEX)
+
+        metrics_definitions_files.select do |file|
+          helper.changed_lines(file).any? { |change| database_metric_added?(change) }
+        end.compact
+      end
+
       def metrics_changed_files
         metrics_definitions_files = helper.modified_files.grep(FILE_PATH_REGEX)
 
@@ -65,6 +74,10 @@ def performance_indicator_changed?(change)
       def status_removed?(change)
         change =~ METRIC_REMOVED
       end
+
+      def database_metric_added?(change)
+        change =~ DATABASE_METRIC_ADDED
+      end
     end
   end
 end