Finished phase006
CI / scan_ruby (push) Failing after 7s
CI / scan_js (push) Failing after 7s
CI / lint (push) Failing after 8s

This commit is contained in:
2026-09-16 16:37:03 -06:00
parent 0826d267f2
commit 87d2141ed0
22 changed files with 754 additions and 10 deletions
@@ -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
View File
@@ -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