I have to connect to a database that is basically stable but where one
particular ENUM column might have a different set of values when I
connect to it each time. (I know this is not ideal). I'm looking for the
least evil way to do this.

I think I need to interrogate the database to get the set of values.
Since it's mysql, I can do that using the DBI $dbh->column_info and the
'mysql_values' key. But I'm not sure if there is a more generic way.

I then need to install the values in the column's DBIC data structure. I
think I can do that by using remove_column and add_column in the table's
ResultSource class, once I have a ResultSet by which access a
ResultSource object. But I don't know if there's a way to get the dbh
during initialization so I can supply the current enum values to
add_columns during initialization.

Or perhaps there's a simpler way to do the whole thing?

Cheers, Dave

_______________________________________________
List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive: http://www.grokbase.com/group/[email protected]

Reply via email to