This is the latest version of roundhouseE that has been converted to .Net 8.0 and Microsoft.Data.SqlClient 5.2.1. This is the core package, which implements the basic functionality. If you want to create your own RoundhousE database implementation, this is the package you want. If not, you probably want one of the database-specific versions.
$ dotnet add package roundhouse-net80.coreRoundhousE is a wonderful tool, and I was one of the main maintainers for a couple of years, as no one else was maintaining it, and it provided great value to me. However, the project has been around for many years, and had begun accruing some technical debt that became tough to work with when trying to introduct new features or refactor.
After giving it some thought, I decided to start from zero, and create a successor to RoundhousE, starting from the ground up on modern .NET (started on .NET 6 in 2021, now on .NET 8), cross-platform, using the latest 3rd party libraries to connect to the various databases, etc. I removed NHibernate as a dependency, as it was only used to create the versioning tables, and seemed like a bit of an overkill, and it was hard to move fast forward technology wise with such a large dependency. Log4net was also replaced with Serilog.
RoundhousE will of course never disappear, and the source code will stay here. But, there is no active development of RoundhousE for now. I continue my journey with the successor, grate. It's now on version 1.6, and considered stable. It's in active development.
Please head over there, and try it out. If should be almost feature-complete with RoundhousE, and should you find anything that's missing, please file an issue, or submit a PR.
<a href=https://ci.appveyor.com/project/chucknorris/roundhouse>
Apache 2.0 - see docs\legal (just LEGAL in the zip folder)
RoundhousE is an automated database deployment (change management) system that allows you to use your current idioms and gain much more. Currently works with Oracle1, SQL Server (2000/2005/2008/Express), Access1, MySQL, SQLite and PostgreSQL. There are future plans for other databases.
It seeks to solve both maintenance concerns and ease of deployment. We follow some of the same idioms as other database management systems (SQL scripts), but we are different in that we think about future maintenance concerns. We want to always apply certain scripts (anything stateless like functions, views, stored procedures, and permissions), so we don't have to throw everything into our change scripts. This seeks to solves future source control concerns. How sweet is it when you can version the database according to your current source control version?
1) Only on full-framework on Windows, not on Cross-platform .NET Core global tool version.
You can download RoundhousE from https://github.com/chucknorris/roundhouse/releases
You can also obtain a copy from the build server at https://ci.appveyor.com/project/chucknorris/roundhouse/build/artifacts.
If you have Ruby 1.8.6+ (and Gems 1.3.7+) installed, you can get the current release of RoundhousE to your machine quickly!
gem install roundhouserh [options]With NuGet you can get the current release of RoundhousE to your application quickly!
install-package roundhouseroundhouse.lib, roundhouse.msbuild, and roundhouse.refreshdatabaseChocolatey is like apt-get, but for Windows! This is an alternative method to get the current release of RoundhousE to your machine quickly!
cinst roundhouserh [options]dotnet tool install -g dotnet-roundhouserh [options]You can read more about what happens in the background e.g. here:
https://natemcmaster.com/blog/2018/05/12/dotnet-global-tools/, but in short, it installs
the binaries to your ~/.dotnet/tools folder.
You will need dotnet core installed on your box for this to work. You can get it here: https://dot.net.
You can easily integrate RoundhousE in your existing docker infrastructure. Use docker compose, or just pull it down directly and run it. You should probably build upon the image, and add your own customisations, as appropriate. The docker image has the dotnet core global tool distribution of RoundhousE in a Debian 10 Linux base image.
docker pull dotnetroundhouse/roundhousedocker run dotnetroundhouse/roundhouseThis is the best way to get to the bleeding edge of what we are doing.
git clone git://github.com/chucknorris/roundhouse.gitcd roundhousegit config core.autocrlf false to leave line endings as they are.git status. You should not see any files to change.build.ps1. NOTE: You must have git on the path (open a regular command line and type git).The build system has been using UppercuT, but this will probably not be maintained going forward. We will try to
standardize on more "main stream" build tools like MSBuild and Powershell. There are still some remains of UppercuT in the
source code (esp. in the build folder), but this is probably going to be removed in the near future.
To work with the command line, you will need the following in your path:
NOTE: If you are looking at the source - please run build.ps1 before opening the solution. It extracts the keywords.txt files needed for ILMerge-ing MySql dlls, and build will complain without them.
Donations Accepted - If you enjoy using this product or it has saved you time and money in some way, please consider making a donation.
It helps keep to the product updated, pays for site hosting, etc. https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=2RA38UKSK6EZU
Please see releases for the full release logs
Bugfix release
Fixed bug in packaging of dotnet core tool, and another bug with log folder paths and colon in connection string.
Merge-error release fix
Cross-platform dotnet core and dotnet standard ++
Big technological release. RoundhousE now runs on .NET Core in addition to the good, old .NET framework.
Two Bugfixes
After the 0.9.0 release, users identifed two significant bugs. These are fixed in a quick point release.
(See release for the full release notes)
Focus on modernising tooling
RoundhousE has had some catching-up to do tooling-wise. Dependency on .NET 3.5, old, NAnt-based build chain, etc. We are starting this work. It is not done yet, but on its way. Feature-wise not a lot to brag about, but RH.exe should now be able to run on Windows Server 2016 out-of-the-box, because it is no longer dependent on .NET 3.5.
(See release for the full release notes)
Catching up with Pull Requests (See release for the release notes)
OMG!! It's a RoundhousE release!!
It's been a long time coming. I didn't want to get bogged down into writing the perfect release notes, so I am summarizing the last four years of commit history. I hope that no one that contributed feels slighted by my failure to specifically acknowledge your contribution. I intend to do better in the future.
recoverymode mode option is explicitly set to simple or full. In the past, RoundhousE would default to full but would only ever set the recovery mode while creating/restoring the database. If you depended on RoundhousE to create/restore the database for you and you don't want the database server default to be used, you should specify the recovery mode option.Prior releases notes are on the wiki.
UppercuT - Automated Builds (automated build in 10 minutes or less?!) http://projectuppercut.org