I started looking at DBIx::Class::Schema::deploy() and DBIx::Class::Schema::Versioned::upgrade() the other day, as I would love us to move away from kohastructure.sql and updatedatabase.pl.
Galen’s existing work is available on Bugzilla <http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=11390> http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=11390 , as are some of my comments about my investigations into using these methods. I’m having a few minor issues at the moment, but hopefully I’ll resolve them soon. DBIx::Class::Schema has a method called create_ddl_dir(), which lets you dump the DBIC schema out as a SQL file. It also allows you to create SQL “diffs”, which operate as version updates. So the method will save a full dump, plus the diff. That was you can run incremental updates in sorted order, or just re-deploy the entire database at any specific version. Of course, it still requires us to write a script to handle when these things occur, but that should be easy. That said, it still runs into the same problems as bug 13068. Namely, it’s just SQL updates. If we need anything more complex using Perl, I think we’ll need to write specific update scripts, or a different kind of “updatedatabase.pl” which uses DBIx::Class::Schema::Versioned for the heavy lifting and itself for more of the delicate/sophisticated updates. Anyway, that’s my 2 cents : ) David Cook Systems Librarian Prosentient Systems 72/330 Wattle St, Ultimo, NSW 2007 From: koha-devel-boun...@lists.koha-community.org [mailto:koha-devel-boun...@lists.koha-community.org] On Behalf Of Chris Cormack Sent: Wednesday, 19 November 2014 8:52 AM To: koha-devel@lists.koha-community.org Subject: Re: [Koha-devel] Any secret for updatedatabase.pl? On 19 November 2014 10:48, Philippe Blouin <philippe.blo...@inlibro.com <mailto:philippe.blo...@inlibro.com> > wrote: Holà Koha! After so many rebasing nightmares only caused by updatedatabase.pl <http://updatedatabase.pl> , I was wondering how you are doing your insertions in that file to make things easier. Git is a bit dumb by default regarding that file, so I was wondering if you knew of any way to write the insertion to always show at the right place in a rebase. Of course, maybe it's just hopeless, in which case may I ask why we are doing it this way? Locally, I moved from that file and instead create a different file for each update (update_XXXX_long_description), and have my script run them all in sorted order. I could see that used in the community, with a subdirectory for each version. I can imagine it would have a very small impact on performance, but it'd be sooo much easier to rebase. There's a patch to do just that, http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=13068 you could test and sign off Chris
_______________________________________________ Koha-devel mailing list Koha-devel@lists.koha-community.org http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel website : http://www.koha-community.org/ git : http://git.koha-community.org/ bugs : http://bugs.koha-community.org/