Compare commits

..

1 Commits

Author SHA1 Message Date
8be9b3eb2f Fix SQLite3::SQLException in Quantity ordered scope
CAST(... AS BINARY) is MySQL-specific syntax; SQLite requires BLOB.
Use connection.adapter_name to select the correct cast type.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-12 12:56:38 +00:00
3 changed files with 1 additions and 11 deletions

View File

@@ -66,7 +66,7 @@ class Quantity < ApplicationRecord
self.model.with(numbered: numbered(:parent_id, :name)).with_recursive(arel_table.name => [ self.model.with(numbered: numbered(:parent_id, :name)).with_recursive(arel_table.name => [
numbered.project( numbered.project(
numbered[Arel.star], numbered[Arel.star],
numbered.cast(numbered[:child_number], 'BINARY').as('path') numbered.cast(numbered[:child_number], connection.adapter_name == 'Mysql2' ? 'BINARY' : 'BLOB').as('path')
).where(numbered[root && include_root ? :id : :parent_id].eq(root)), ).where(numbered[root && include_root ? :id : :parent_id].eq(root)),
numbered.project( numbered.project(
numbered[Arel.star], numbered[Arel.star],

View File

@@ -21,4 +21,3 @@ end
#[Source, Quantity, Unit].each { |model| model.defaults.delete_all } #[Source, Quantity, Unit].each { |model| model.defaults.delete_all }
require_relative 'seeds/units.rb' require_relative 'seeds/units.rb'
require_relative 'seeds/quantities.rb'

View File

@@ -1,9 +0,0 @@
Quantity.transaction do
Quantity.defaults.delete_all
quantities = {}
quantities['Body weight'] =
Quantity.create name: 'Body weight',
description: 'body weight measurement'
end