[Koha-devel] Koha and DBIC

Kyle Hall kyle.m.hall at gmail.com
Tue Sep 9 19:21:36 CEST 2014


As discussed in #koha, I think we are not using DBIC as well as we could.
Right now we are only using it to replace hand written SQL queries. I would
propose the following:

1) Allow find and simple searches in pl.
2) If a search is used more than once, it should be a ResultSet method
3) If a subroutine operates on a single table row, it should be a Result
method
4) If a subroutine operates on a single table, it should be a ResultSet
method
5) Any operation that works on tables linked by key constraints should take
advantage of those DBIC relationships and also

In this way we can do things like:
$borrower->is_debarred
or
$borrower->has_overdues
or
@borrowers = $borrower->guarantees()

Any search can be a method in the ResultSet such as
$borrower->issue()->overdue_issues();
or
my @records_with_holds = $schema->resultset('Biblio')->with_holds()

I think in the long run this will make or code far more readable, testable,
and efficient.

What do you think?

Kyle

http://www.kylehall.info
ByWater Solutions ( http://bywatersolutions.com )
Meadville Public Library ( http://www.meadvillelibrary.org )
Crawford County Federated Library System ( http://www.ccfls.org )
Mill Run Technology Solutions ( http://millruntech.com )
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.koha-community.org/pipermail/koha-devel/attachments/20140909/0a731da9/attachment.html>


More information about the Koha-devel mailing list