Re: Deleting database

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

 



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".

Thanks for the Python example!

Ville

--
Fedora-directory-users mailing list
Fedora-directory-users@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-directory-users

[Index of Archives]     [Fedora Directory Users]     [Fedora Directory Devel]     [Fedora Announce]     [Fedora Legacy Announce]     [Kernel]     [Fedora Legacy]     [Share Photos]     [Fedora Desktop]     [PAM]     [Red Hat Watch]     [Red Hat Development]     [Big List of Linux Books]     [Gimp]     [Yosemite News]

  Powered by Linux