Class: Gitlab::Database::Migrations::SwapColumnsDefault
- Inherits:
-
Object
- Object
- Gitlab::Database::Migrations::SwapColumnsDefault
- Defined in:
- lib/gitlab/database/migrations/swap_columns_default.rb
Instance Method Summary collapse
- #execute ⇒ Object
-
#initialize(migration_context:, table:, column1:, column2:) ⇒ SwapColumnsDefault
constructor
A new instance of SwapColumnsDefault.
Constructor Details
#initialize(migration_context:, table:, column1:, column2:) ⇒ SwapColumnsDefault
Returns a new instance of SwapColumnsDefault.
12 13 14 15 16 17 |
# File 'lib/gitlab/database/migrations/swap_columns_default.rb', line 12 def initialize(migration_context:, table:, column1:, column2:) @migration_context = migration_context @table = table @column_name1 = column1 @column_name2 = column2 end |
Instance Method Details
#execute ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/gitlab/database/migrations/swap_columns_default.rb', line 19 def execute default1 = find_default_by(@column_name1) default2 = find_default_by(@column_name2) return if default1 == default2 change_sequence_owner_if(default1[:sequence_name], @column_name2) change_sequence_owner_if(default2[:sequence_name], @column_name1) change_column_default(@table, @column_name1, default2[:default]) change_column_default(@table, @column_name2, default1[:default]) end |