[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Error when upgrading 1.2 db to 1.3 db



Hi Nigel,

On Tue, Jan 10, 2012 at 10:43 PM, Nigel Titley <..hidden..> wrote:
> On 09/01/12 20:11, Erik Huelsmann wrote:
>> Hi Nigel,
>>
>>>>>> Many thanks... I'll work through and find out which account is causing
>>>>>> the problem.
>>>>>>
>>>>> Hmm, this fails at the first fence, with offset 0. I think its a more
>>>>> fundamental error with the "account_save" procedure.
>>>>>
>>>> I'm still no further forward with this. Can someone put me in touch with
>>>> the author of the migration script? I can't really move forward with
>>>> testing 1.3 until we get an example database migrated across. And if we
>>>> are having problems with the script, it's likely that someone else will
>>>> have too.
>>>
>>> Could you send me a dump of the 'chart' table in your database? I'd
>>> like to see what's happening here and what expectations of
>>> 'account_save' in your table aren't met. We might want to add
>>> pre-migration checks based on it, or we might want to change
>>> account_save to compensate.
>>
>> Looking at the code more closely, I think the migration code expects
>> every account to be associated with a header of which the number
>> alphanumerically precedes the account number.
>>
>> Maybe that expectation is violated? If you replace the account_save
>> function in the distribution with the one you'll find below, an
>> exception will be raised if that expectation is violated.
>
> I think this is probably what Chris is referring to in his workaround
> suggested today. Certainly I have no headers in my accounts table apart
> from the one the I added (at the end) for testing.

Yea. It is.

> I'm about to add a header at the start, dump a new test copy of the
> database and try again.

That should do it. Please let us know about your outcome.

> What is the reason for the header association constraint in the
> migration code? I have to admit that I never saw any reason for header
> accounts, but that is probably my lack of understanding

Usually accounts are grouped using headers. At minimum people use:

 * Liabilities
 * Assets
 * Equity
   * Retained earnings
   * Result for the year
     * Total Income
     * Total Expense

Usually assets/ liabilities are split into subgroups like Cash/Fixed
assets/others. In other words: They're an easy way to define the level
of totals you want.


HTH,

Erik.