[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: State of Perl-based database setup utilities for LedgerSMB 1.3
- Subject: Re: State of Perl-based database setup utilities for LedgerSMB 1.3
- From: "David F. Skoll" <..hidden..>
- Date: Fri, 27 May 2011 16:43:57 -0400
On Fri, 27 May 2011 13:07:06 -0700
Chris Travers <..hidden..> wrote:
> Currently there are two approaches to installing databases in Perl.
> The first (initiate.pl) has officially been moved to add-ons and is a
> web-based interface for this process. I have not personally used it,
> although I have recently committed a lot of patches against it.
I'm not sure I like a web-based interface. This makes automated
installations and testing much harder.
> The second approach is the use of makefile targets installdb and
> installdb_interactive.
I don't like that approach either. I prefer an approach like this:
1) make
2) make install
3) ledgersmb-init-database
That is, have a dedicated command-line script that initializes the database.
It can be interactive, but should also take command-line options for a
fully-automated setup of the database. The ledgersmb-init-database
script should do sanity checks to see if there's already a database, etc.
If it does find a database, it can offer to do a schema upgrade (or
do it automatically if so told by a command-line option.)
This has the nice side-effect of making the upgrade procedure
absolutely identical to the initial-installation procedure: make;
make-install; ledgersmb-init-database.
> But this leads to the question: do we want to depend on
> perl test infrastructure and/or make utilities to be on systems we are
> building databases from?
I don't think it's a good idea to depend on those for systems on which
we deploy.
> And given the amount of code in the
> database, do we want to treat creating a new company database as a
> build process or an administrative task for dependency and/or UI
> reasons?
Administrative task, for sure. Otherwise packaging LedgerSMB as a .deb
or .rpm becomes difficult.
Regards,
David.