gbwey/persistent-odbc

update to newer versions of persistent

olafklinke opened this issue · 0 comments

Are there plans for adjusting persistent-odbc to newer persistent
versions? persistent-odbc-0.2.1.1 has dependency persistent < 2.11. The persistent package has moved past 2.11 quite a few iterations.

DBName is used in multiple places in persistent-odbc.
Database.Persist.Sql.DBName was removed in persistent-2.12 it seems.
lts-17.2 is the last stackage snapshot with a pre-2.12 version of persistent.

Building against persistent-2.11.0.2 we run into at least two
problems:

  1. The type of Database.Persist.Sql.mkColumns has changed,
  2. Database.Persist.Sql.Column has one additional constructor.

mkColumns recently requires BackendSpecificOverrides which can be
patched by giving emptyBackendSpecificOverrides as additional argument.

Column got the additional cGenerated field as fifth argument and the
last field cReference changed type from Maybe (DBName,DBName) to
Maybe ColumnReference which in turn contains a crTableName field.
That solves the problems in Database.Persist.MigrateMySQL but for
MigratePostgres the code is more complicated.

I used the compiler errors to start migrating persistent-odbc to
peristent-2.11 but at some point I am stuck because I don't know the
semantics.