Works with multiple database backends.