[Cl-perec-devel] Another multi-db bug?

Attila Lendvai attila.lendvai at gmail.com
Tue Aug 26 21:04:10 UTC 2008


> (defcclass* exportable ()
>  ((ensure-exported
>    (compute-as (export-to-rdbms -self-) -self-)
>    :reader ensure-exported
>    ...)))
>
> I'm not familiar with COMPUTED-CLASS. How does this work?
>
> When I evolve a class, ENSURE-EXPORTED seems to call
> EXPORT-TO-RDBMS only once, meaning that only the first
> of multiple databases gets their table updated.

positive, this is a bug - or maybe an unsupported feature. keep in
mind that the schema export is treated mostly as a development-time
tool that helps making progress while working. at deployment you'll
need to handle things carefully anyway... for example our server
refuses to start when it detects that the schema is out of sync. then
it needs to be started as a repl session with user feedbacks...

the problem is that both databases are in the same
"computed-universe", so when a class is exported in one database then
it gets "computed" (iow, valid) so the export is considered done when
accessing the next database.

you can C-c C-c something/anything again and then the export will run again.

i have no quick fix for this.

what's your use-case for using two databases? is it schema evolution
and the involved data migration?

-- 
 attila



More information about the cl-perec-devel mailing list