I'm pretty sure that I discovered that a bug was introduced that breaks Schemifier with Oracle...
First of all, Oracle's JDBC driver has the odd behavior of being case sensitive when it comes to acquiring metadata. For example: DatabaseMetaData.getColumns(null, "MYSCHEMA", "MYTABLE", null) is not the same as DatabaseMetaData.getColumns(null, "MYSCHEMA", "myTable", null)... In fact, the latter option yields no results... Well, looking at 1.0 Schemifier source, see line 189: http://scala-tools.org/scaladocs/liftweb/1.0/net/liftweb/mapper/Schemifier.scala.htm You can see that it used: table.dbTableName If you look at the latest source, see line 193: http://github.com/dpp/liftweb/blob/master/framework/lift-persistence/lift-mapper/src/main/scala/net/liftweb/mapper/Schemifier.scala#L193 You can see that it uses: table._dbTableNameLC This change broke ensureColumns for Oracle. As a side note -- there was no useful error message explaining that no column metadata was found for table X. This took a while to trace. I must admit that I am surprised by Oracle's behavior. Since the database isn't case sensitive, the table name parameter should not be case sensitive -- but it certainly is by my testing (and I am using 11g). Why was the code changed to specify a lower case value?
-- You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to lift...@googlegroups.com. To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/liftweb?hl=en.