OK, solved my problem by creating a separate view in my database that only includes services with proper statuses. The "solution" I tried to use first didn't work properly as well, don't try to use it (without modification, at least)!
-----Исходное сообщение----- От: "Ilya Chesnokov" <chesnokov.i...@gmail.com> Отправлено: 09.03.2015 21:04 Кому: "dbix-class@lists.scsys.co.uk" <dbix-class@lists.scsys.co.uk> Тема: "Deletion" of records by setting status to 'deleted' Hi, I have a "service" table in my database and want to mark services as deleted by setting service.status = 'deleted' instead of actually deleting them (for business reasons). I do it in a working project where DBIC is used as a database interaction layer, and it is preferable to make these changes as transparent to the surrounding code as possible. Our codebase is (mostly) covered with tests, so it's generally easy to understand whether there is a regression or not. First I tried to override search_rs() method in a custom resultset with something like this: https://gist.github.com/ichesnokov/1d4236f79c69fd14ebbe, but it didn't work as expected on prefetches with condition in them. Then I tried a method with resultset_attributes (see https://metacpan.org/pod/DBIx::Class::ResultSource#resultset_attributes), but it didn't work because it's impossible to get "current_source_alias" from ResultSource. Currently I'm using something based on the behavior of resultset_attributes (see https://gist.github.com/ichesnokov/e5fb7e70cb6d497ea5a0), and it works, but requires fiddling with internal state of a resultset, which seems a bit wrong. Is there any better way for achieving the same? Thanks. -- Best regards, Ilya Chesnokov
_______________________________________________ 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/dbix-class@lists.scsys.co.uk