Ville Silventoinen wrote: > On Fri, 23 Mar 2007, Richard Megginson wrote: > >> Ville Silventoinen wrote: >>> On Thu, 22 Mar 2007, Richard Megginson wrote: >>> >>>> Ville Silventoinen wrote: >>>>> I'm using Fedora DS 1.0.4. I've written an application that uses >>>>> Fedora DS and next I'm planning to write unit tests. I'm wondering >>>>> if there is a way to delete the whole userRoot database and create >>>>> it again? I searched the documentation and there seems to be a way >>>>> to create the database from command line, but no way to delete it, >>>>> except from the GUI? >>>> Just delete the entry (e.g. delete cn=userRoot,cn=ldbm >>>> database,cn=plugins,cn=config). You will have to do some sort of >>>> recursive deletion to remove all of the child entries. I think >>>> this is what the GUI does - just check the access logs for the >>>> server after deleting the database in the console. >>> >>> Thank you Richard, that worked very well. I also delete the mapping >>> tree entry, which maps the suffix to the backend database: >>> >>> dn: cn="dc=ebi,dc=ac,dc=uk",cn=mapping tree,cn=config >>> objectclass: top >>> objectclass: extensibleObject >>> objectclass: nsMappingTree >>> nsslapd-state: backend >>> nsslapd-backend: userRoot >>> cn: dc=ebi,dc=ac,dc=uk >>> >>> The GUI works slightly differently, it sets nsslapd-state to >>> "disabled" and removes the nsslapd-backend attribute. >>> >>> If anyone has a need for a script that can delete and create a >>> database, I can send it to the list. I use Python with python-ldap >>> package. >>> >>> Thank you very much for a fast response! >> If you just want to restore the database to it's initial state, you >> can just do an import - ldif2db or ldif2db.pl - this will remove the >> previous contents and create a new database. This might be >> sufficient for your purposes, without having to delete the database >> and mapping tree entries. See ldif2db.pl for how to invoke an import >> operation via ldap > > This may be a stupid question but how do I get ldif2db.pl to remove > the previous contents so it can create the entries? > > I tried like this: > > ./ldif2db.pl -v -D "cn=Directory Manager" -w mypassword -n userRoot > -i /path/to/userRoot.ldif > > but in the errors log it shows for every entry "WARNING: Skipping > duplicate entry". That usually means there are duplicate entries in your userRoot.ldif file - can you post it somewhere and post the link to it here? I'd rather not spam the list with a large ldif file. > > Thanks for the Python example! > > Ville > > -- > Fedora-directory-users mailing list > Fedora-directory-users at redhat.com > https://www.redhat.com/mailman/listinfo/fedora-directory-users -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/x-pkcs7-signature Size: 3245 bytes Desc: S/MIME Cryptographic Signature Url : http://lists.fedoraproject.org/pipermail/389-users/attachments/20070323/c5c5f369/attachment.bin