Re: Performanceverbesserung

"Dieter Maurer" <[email protected]>
Newsgroups gmane.comp.web.zope.german
Message-ID <[email protected]>
Helmut Lichtenberg wrote at 2008-12-16 07:52 +0100:
> ...
>Ist cut & paste eigentlich die Standardmethode für solche Sachen?
>Ich bin mehr dateibasiertes Arbeiten gewohnt und tue mich schwer mit den rein
>GUI-basierten Methoden.
>
>Kann man z.B. diese 25.000 Seiten nicht automatisiert aus der Datenbank
>herausladen und dann an anderer Stelle wieder importieren?

Man kann aber es wäre unnötige Arbeit (sowohl für Dich als auch Laufzeit-Arbeit).

>Oder mit irgendwas
>SQL-ähnlichem gleich innerhalb der Datenbank?

Ja. Das SQL-Äquivalent für die ZODB heißt Python.

Da wir in diesem Fall die Ablagestruktur völlig gleich lassen
wollen, können wir fast vollständig auf Neukatalogisierung verzichten.
Das sorgt dafür, dass die Migration sehr schnell gehen kann.

Schematisch geht es etwa so:

"base" bezeichnet den Folder, der unseren Folder "f" enthält, den
wir durch einen Large-Folder ersetzen wollen.

    newLargeFolder = <Konstruktor für PloneLargeFolder>("f")
    oldFolder = base.f
    # replace "f" with a harmless object to avoid uncataloging and then delete
    from OFS.DTMLMethod import DTMLMethod
    base.f = DTMLMethod()
    base._delObject("f")
    # put "newLargeFolder" in its place
    base._setObject("f", newLargeFolder)
    # now move the content
    for v in oldFolder.objectValues():
      newLargeFolder._setOb(v.getId(), v)
    from transaction import commit
    commit()



-- 
Dieter


_______________________________________________
zope mailing list
[email protected]
https://mail.dzug.org/mailman/listinfo/zope
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.