[Koha-devel] How about a different way of handling database updates
LAURENT Henri-Damien
henridamien.laurent at gmail.com
Fri Jan 29 05:46:20 CET 2010
Michael Hafen a écrit :
> Calling out to atomic files would be a good idea. It only partially
> alleviates merge conflicts though, because the reference to the file
> still have to appear in updatedatabase.pl. You would end up missing an
> entire update rather than potentially messing up part of an update with
> a merge conflict. Missing the update is probably the better outcome
> though, and the updatedatabase.pl file will be much smaller that way.
>
> So having atomic update files, referenced from updatedatabase.pl, for
> large updates (several lines of code) would be part of my proposal.
>
>
Could be in fact a loop calling update files while $data->{active}{ my
$filecontent=File::Slurp(getfilename($data->{dbrev_name})) eval
{$filecontent}} and not including them in the update file.
Imagine we had a column activate in your table where an active update
would HAVE to be done.
We would be able to "check" that it has been done.
I think that we should not have to do the loop over and over again at
each page loading. But have a maintenance or an about screen where you
can check against the updates applied and not applied.
> As for having do() and undo() in the included file... It's a nice idea,
> but in practice un-deleting a column can be difficult. Imagine trying
> to reverse the database changes from the labels rewrite or the
> acquisitions rewrite.
>
> I think that standard practice for updating is to backup the database
> first. Then restore from the backup if there is a problem. This
> practice falls flat though if you don't notice the problem right away.
> In which case having an undo() would be preferable. But it would be
> totally dependent on being able to pull the information from somewhere
> to fill the un-deleted column.
>
> Really the reason I don't like the idea is because I'm lazy. That
> practically doubles the work it takes to change the database.
>
> Comments?
>
>
I am lazy too... not only, busy also. And I would like the process to be
as sure as possible so that maintenance is less time consuming.
But this was day dreaming and brain dumping.
--
Henri-Damien LAURENT
BibLibre
More information about the Koha-devel
mailing list