You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
DbUp is a .NET library that helps you to deploy changes to SQL Server databases. It tracks which SQL scripts have been run already, and runs the change scripts that are needed to get your database up to date.
7
+
DbUp is a .NET library that helps you to deploy changes to relational databases. It tracks which SQL scripts have been run already, and runs the change scripts that are needed to get your database up to date.
8
+
This Provider is for deploying to Firebird databases.
8
9
9
10
## Getting Help
10
11
To learn more about DbUp check out the [documentation](https://dbup.readthedocs.io/en/latest/)
@@ -13,4 +14,24 @@ Please only log issue related to Firebird support in this repo. For cross cuttin
13
14
14
15
# Contributing
15
16
16
-
See the [readme in our main repo](https://github.com/DbUp/DbUp/blob/master/README.md) for how to get started and contribute.
17
+
See the [readme in our main repo](https://github.com/DbUp/DbUp/blob/master/README.md) for how to get started and contribute.
18
+
19
+
# Quirks concerning the Firebird implementation
20
+
21
+
The Journal Table for Firebird is called `"schemaversions"` i.e. with quotes. This can be confusing since other providers do not use quotes.
22
+
23
+
It will not be fixed because of backwards compatibility. You can check the content of the table by using
24
+
25
+
```sql
26
+
select*from"schemaversions"
27
+
```
28
+
29
+
In a new project you can also choose another name for the JournalTable instead like this:
// If you used `docker compose up` for creating a server and a database, the database already exists.
17
+
// You can see that a new database can be created using EnsureDatabase.For.FirebirdDatabase(connectionString) by changing the Database parameter (the fdb filename)
18
+
// in the connectionString in appsettings.json
19
+
// You can also try to drop a database by using DropDatabase.For.FirebirdDatabase(connectionString);
To try this sample that demonstrates the use of DbUp for Firebird you can install docker and run `docker compose up` from a terminal in this folder.
2
+
3
+
After that you can run the sample project and notice the scripts are run against the fbsample.fdb database
4
+
5
+
The Firebird server uses the latest jacobalberty/firebird image from Dockerhub. At the time of writing the latest image uses the v4.0.1 version of the firebird server
//The code below concerning EnsureDatabase and DropDatabase is a modified version from a PR from Github user @hhindriks. Thank you for your contribution.
60
+
61
+
//Error codes from Firebird (see https://www.firebirdsql.org/pdfrefdocs/Firebird-2.1-ErrorCodes.pdf)
62
+
constintFbIoError=335544344;
63
+
constintFbNetworkError=335544721;
64
+
constintFbLockTimeout=335544510;
65
+
66
+
/// <summary>
67
+
/// Ensures that the database specified in the connection string exists.
0 commit comments