Class: MigrateTablesToUuidPrimaryKey
- Inherits:
-
Ductwork::Migration
- Object
- Ductwork::Migration
- MigrateTablesToUuidPrimaryKey
- Defined in:
- lib/generators/ductwork/update/templates/db/migrate_tables_to_uuid_primary_key.rb
Constant Summary collapse
- TABLE_TO_FOREIGN_KEYS =
{ ductwork_pipelines: [], ductwork_steps: [:pipeline], ductwork_jobs: [:step], ductwork_executions: [:job], ductwork_availabilities: [:execution], ductwork_runs: [:execution], ductwork_results: [:execution], ductwork_tuples: [:pipeline], ductwork_processes: [], }.freeze
- FOREIGN_KEY_TO_TABLES =
{ pipeline: %i[ductwork_steps ductwork_tuples], step: %i[ductwork_jobs], job: %i[ductwork_executions], execution: %i[ductwork_availabilities ductwork_runs ductwork_results], availabilitie: [], run: [], result: [], tuple: [], processe: [], }.freeze
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
#down ⇒ Object
37 38 39 40 |
# File 'lib/generators/ductwork/update/templates/db/migrate_tables_to_uuid_primary_key.rb', line 37 def down raise ActiveRecord::IrreversibleMigration, "Cannot revert UUID migration — old integer IDs have been dropped. Restore from backup." end |
#up ⇒ Object
27 28 29 30 31 32 33 34 35 |
# File 'lib/generators/ductwork/update/templates/db/migrate_tables_to_uuid_primary_key.rb', line 27 def up create_primary_key_uuid_columns create_foreign_key_uuid_columns backfill_uuid_columns drop_old_foreign_keys swap_primary_keys swap_foreign_keys create_missing_indexes end |