diff options
Diffstat (limited to 'db/migrate/20201204111100_create_packages_debian_group_architectures.rb')
-rw-r--r-- | db/migrate/20201204111100_create_packages_debian_group_architectures.rb | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/db/migrate/20201204111100_create_packages_debian_group_architectures.rb b/db/migrate/20201204111100_create_packages_debian_group_architectures.rb new file mode 100644 index 00000000000..8a001414c45 --- /dev/null +++ b/db/migrate/20201204111100_create_packages_debian_group_architectures.rb @@ -0,0 +1,38 @@ +# frozen_string_literal: true + +class CreatePackagesDebianGroupArchitectures < ActiveRecord::Migration[5.2] + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + INDEX_NAME = 'idx_pkgs_deb_grp_architectures_on_distribution_id' + UNIQUE_NAME = 'uniq_pkgs_deb_grp_architectures_on_distribution_id_and_name' + + disable_ddl_transaction! + + def up + with_lock_retries do + unless table_exists?(:packages_debian_group_architectures) + create_table :packages_debian_group_architectures do |t| + t.timestamps_with_timezone + t.references :distribution, + foreign_key: { to_table: :packages_debian_group_distributions, on_delete: :cascade }, + null: false, + index: { name: INDEX_NAME } + t.text :name, null: false + + t.index %w(distribution_id name), + name: UNIQUE_NAME, + unique: true, + using: :btree + end + end + end + + add_text_limit :packages_debian_group_architectures, :name, 255 + end + + def down + drop_table :packages_debian_group_architectures + end +end |