Finished phase006
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
class AddStatusTrackingToMaintenanceSchedules < ActiveRecord::Migration[8.1]
|
||||
def change
|
||||
add_column :maintenance_schedules, :baseline_odometer, :integer
|
||||
add_column :maintenance_schedules, :baseline_date, :date
|
||||
add_column :maintenance_schedules, :active, :boolean, default: true, null: false
|
||||
add_column :maintenance_schedules, :last_status, :string
|
||||
add_column :maintenance_schedules, :last_status_changed_at, :datetime
|
||||
|
||||
reversible do |dir|
|
||||
dir.up do
|
||||
execute <<~SQL.squish
|
||||
UPDATE maintenance_schedules
|
||||
SET baseline_odometer = (
|
||||
SELECT vehicles.current_odometer
|
||||
FROM vehicles
|
||||
WHERE vehicles.id = maintenance_schedules.vehicle_id
|
||||
)
|
||||
SQL
|
||||
|
||||
execute <<~SQL.squish
|
||||
UPDATE maintenance_schedules
|
||||
SET baseline_date = DATE(created_at)
|
||||
SQL
|
||||
end
|
||||
end
|
||||
|
||||
change_column_null :maintenance_schedules, :baseline_odometer, false
|
||||
change_column_null :maintenance_schedules, :baseline_date, false
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user