sql >> Databáze >  >> RDS >> Sqlserver

Databázově nezávislé zřetězení SQL řetězců v Rails

Měl jsem stejný problém a nikdy jsem nepřišel na nic, co by bylo zabudováno do Rails. Tak jsem napsal tuto malou metodu.

# Symbols should be used for field names, everything else will be quoted as a string
def db_concat(*args)

  adapter = configurations[RAILS_ENV]['adapter'].to_sym
  args.map!{ |arg| arg.class==Symbol ? arg.to_s : "'#{arg}'" }

  case adapter
    when :mysql
      "CONCAT(#{args.join(',')})"
    when :sqlserver
      args.join('+')
    else
      args.join('||')
  end

end

Myslím, že by někdo měl skutečně napsat nějaký pomocný SQL plugin, který by dokázal automaticky formátovat jednoduché SQL výrazy založené na správných funkcích nebo operátorech pro aktuální adaptér. Možná jeden napíšu sám.



  1. Generování UUID v Postgres pro příkaz Insert?

  2. Hibernujte, jak modelovat tento vztah

  3. Jak seřadit asociativní pole v php

  4. Zhroucení MySQL Innodb