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
|
||||
Generated
+6
-1
@@ -10,7 +10,7 @@
|
||||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema[8.1].define(version: 2026_09_16_103647) do
|
||||
ActiveRecord::Schema[8.1].define(version: 2026_09_16_120000) do
|
||||
create_table "access_keys", force: :cascade do |t|
|
||||
t.boolean "auto_rotate", default: true, null: false
|
||||
t.integer "auto_rotation_frequency_days", default: 30, null: false
|
||||
@@ -48,7 +48,12 @@ ActiveRecord::Schema[8.1].define(version: 2026_09_16_103647) do
|
||||
end
|
||||
|
||||
create_table "maintenance_schedules", force: :cascade do |t|
|
||||
t.boolean "active", default: true, null: false
|
||||
t.date "baseline_date", null: false
|
||||
t.integer "baseline_odometer", null: false
|
||||
t.datetime "created_at", null: false
|
||||
t.string "last_status"
|
||||
t.datetime "last_status_changed_at"
|
||||
t.string "maintenance_type", null: false
|
||||
t.integer "mileage_interval", null: false
|
||||
t.integer "time_interval", null: false
|
||||
|
||||
Reference in New Issue
Block a user