On Fri, 23 Mar 2007, Noriko Hosoi wrote:
Richard Megginson wrote:
Ville Silventoinen wrote:
On Fri, 23 Mar 2007, Richard Megginson wrote:
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 Richard! You were right, all the entries were defined twice in the
file. I don't understand how that happened, I used the "Export Databases"
task in the Console to create the file. If the file already exists, does
it append new entries to it? I must have done something wrong...
It might append to it. I'm not sure.
I could not reproduce it. If I choose the same file name to export database,
I get "File '<filename>' already exists. Its contents will be overwritten.
Do you want to continue?" dialog box, and my existing file is really
overwritten...
I tried it as well, I couldn't reproduce the problem either. Unfortunately
I deleted the file so I cannot check in which order the entries were.
Thanks for the help.
Ville
--
Fedora-directory-users mailing list
Fedora-directory-users@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-directory-users