Added transaction scope to the SQL implementations and updated the rakefile to ensure the process completes when no folder exists i.e. create one