Soporte para índices fulltext en las migrations de Ruby on Rails

Como cabe esperar, las migrations de Ruby on Rails no tienen soporte directo para crear índices fulltext. Esto es bastante lógico, porque son una característica propia de mysql, no un estándar que sigan múltiples SGBD. Sin embargo, las migrations contemplan la posibilidad de ejecutar comandos directamente contra la base de datos. La sintaxis es muy sencilla:

execute "comando_a_enviar_a_la_base_de_datos"

Hay que tener en cuenta que en mysql solo es posible definir índices fulltext en tablas MyISAM.Utilizando la sintáxis que acabamos de ver, un ejemplo completo de como crear una tabla con un índice fulltext quedaría de la forma siguiente:

create_table("prueba", :force => true, : options=> "ENGINE=MyISAM") do |t|
  t.column("titulo", :string, :limit => 50)
  t.column("texto", :text)
end

execute "CREATE FULLTEXT INDEX FullText_texto_titulo ON prueba (titulo, texto)"

No es una solución portable, pero si es más elegante que tener un script separado para hacer este tipo de cosas.

No hay comentarios de momento

Tu comentario

Microsoft Office 2003 Professional Edition Adobe Creative Suite 2 Premium Macromedia Dreamweaver 8 [Mac] Microsoft Office Visio Professional 2007 Microsoft Windows XP Professional SP3 Adobe Flash Media Server 3.0 Adobe Font Folio 11 Microsoft Office 2008 [Mac] Adobe Acrobat 8 Professional [Mac] Adobe InDesign CS3 [Mac]