Class: CreateDuctworkTuples

Inherits:
Ductwork::Migration show all
Defined in:
lib/generators/ductwork/install/templates/db/create_ductwork_tuples.rb

Constant Summary

Constants included from Ductwork::MigrationHelper

Ductwork::MigrationHelper::AVAILABILITY_CLAIM_INDEX_NAME, Ductwork::MigrationHelper::AVAILABILITY_CLAIM_INDEX_NAMES, Ductwork::MigrationHelper::AVAILABILITY_CLAIM_INDEX_NAME_V2

Instance Method Summary collapse

Methods included from Ductwork::MigrationHelper

#add_availability_claim_index, #add_index_online, #belongs_to, #create_ductwork_table, #drop_invalid_index, #ensure_ddl_transaction_disabled!, #mysql?, #postgresql?, #remove_availability_claim_index, #remove_index_online, #swap_availability_claim_index, #uuid_column_type

Instance Method Details

#changeObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/generators/ductwork/install/templates/db/create_ductwork_tuples.rb', line 4

def change
  create_ductwork_table :ductwork_tuples do |table|
    belongs_to(
      table,
      :run,
      index: true,
      null: false,
      foreign_key: { to_table: :ductwork_runs }
    )
    table.string :key, null: false
    table.string :serialized_value
    table.datetime :first_set_at, null: false
    table.datetime :last_set_at, null: false
    table.timestamps null: false
  end

  add_index :ductwork_tuples, %i[run_id key], unique: true
end