How do I migrate the databases to another server?
This is a very common question in the industry and therefore not unique for Dime.Scheduler. This is not a trivial task as there is a risk of loss of data or data corruption, backups are definitely recommended during this process. Moving the data to another database has very little to do with Dime.Scheduler itself, so standard practices and skills of the database administrators (DBA) can be applied here.
There are heaps of articles with different approaches on this topic. Even the good people at Microsoft have addressed this common question with an article on their documentation site.
Our research confirms what Microsoft recommends in their article. The most common ways of migrating databases include the following:
There are several ways to copy a database:
- Use the copy database wizard
- Restore a database backup
- Create scripts to publish data
After the database has been migrated, the only thing to take care of is the connection string configuration in the Windows services (appsettings.json and/or .config) and web site application files (appsettings.json and/or web.config). It could be as simple as modifying the data source parameter in the connection string.
So instead of referring to
data source=SERVER1;initial catalog=Dime.Scheduler;[...], you would refer to
data source=SERVER2;initial catalog=Dime.Scheduler;[...]
However, if you migrate to an Azure SQL or perhaps an entirely different database engine like MySQL, the default connection string may no longer suffice.
See here for more info.
How do I upgrade the (web) applications to another server?
In this case, very little needs to happen. As long as the new machine can communicate with the database server, you don't need to do anything special. Just follow the installation procedure and you should be fine.