GeneXus, Open Source y otras yerbas

jueves, marzo 16, 2017

Table storage engine for "MiTabla" doesn't have this option... migrando MySQL

Estoy migrando una KB de GeneXus 9.0 a GeneXus 15 por lo que aproveche a realizar un rediseño de la aplicación y cambiando todo lo que se pueda. Aprovechando me instale una versión nueva de MySQL para dejar de usar la 5.1 que tenía funcionando en producción. Para esto hice un dump como lo hago siempre y al querer levantar el archivo me da el siguiente error: "Table storage engine for punc.examenodontologico doesn't have this option..."
Buscando en google encontré que el problema se debe al ROW_FORMAT que se estaba usando en la creación de las tablas.

"ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_cs ROW_FORMAT=FIXED;" 

La solución es cambiar el valor del ROW_FORMAT=DYNAMIC

"ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_cs ROW_FORMAT=FIXED;" 

Con esto pude levantar mi dump sin problemas, dado que el sistema tiene muchas tablas hice el replace usando el "VI" que es el editor que uso. La sentencia en VI es muy sencilla:
":%s/ROW_FORMAT=FIXED/ROW_FORMAT=DYNAMIC/g"

Dejo este pique por si les pasa ya que yo por distraído perdí un buen rato antes de poder resolverlo.