summaryrefslogtreecommitdiff
path: root/db/migrate/20230313181536_create_packages_npm_metadata_caches.rb
blob: fde33342f041f4c2e3e433ba372eded482e7f384 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# frozen_string_literal: true

class CreatePackagesNpmMetadataCaches < Gitlab::Database::Migration[2.1]
  enable_lock_retries!

  INDEX_NAME = 'index_npm_metadata_caches_on_package_name_project_id_unique'

  def up
    create_table :packages_npm_metadata_caches do |t|
      t.timestamps_with_timezone

      t.datetime_with_timezone :last_downloaded_at
      t.bigint :project_id, index: true
      t.integer :file_store, default: 1
      t.integer :size, null: false
      t.text :file, null: false, limit: 255
      t.text :package_name, null: false # rubocop:disable Migration/AddLimitToTextColumns

      t.index %i[package_name project_id], name: INDEX_NAME, unique: true, where: 'project_id IS NOT NULL'
    end
  end

  def down
    drop_table :packages_npm_metadata_caches
  end
end