Switch to EF Core PostgreSQL Provider
project in the solution depends on the Volo.Abp.EntityFrameworkCore.SqlServer NuGet package. Remove this package and add the same version of the package.
Replace the Module Dependency
Find YourProjectNameEntityFrameworkCoreModule class inside the .EntityFrameworkCore
project, remove typeof(AbpEntityFrameworkCoreSqlServerModule)
from the DependsOn
attribute, add typeof(AbpEntityFrameworkCorePostgreSqlModule)
(also replace using Volo.Abp.EntityFrameworkCore.SqlServer;
with using Volo.Abp.EntityFrameworkCore.PostgreSql;
).
Find UseSqlServer()
call in YourProjectNameEntityFrameworkCoreModule.cs inside the project and replace with UseNpgsql()
.
Change the Connection Strings
PostgreSql connection strings are different than SQL Server connection strings. So, check all appsettings.json
files in your solution and replace the connection strings inside them. See the connectionstrings.com for details of PostgreSql connection string options.
You typically will change the appsettings.json
inside the and .Web
projects, but it depends on your solution structure.
- Delete the Migrations folder under the
.EntityFrameworkCore.DbMigrations
project and re-build the solution. - Run
Add-Migration "Initial"
on the Package Manager Console (select the.DbMigrator
(or.Web
) project as the startup project in the Solution Explorer and select the.EntityFrameworkCore.DbMigrations
project as the default project in the Package Manager Console).
This will create a database migration with all database objects (tables) configured.
Run the .DbMigrator
project to create the database and seed the initial data.
Run the Application
It is ready. Just run the application and enjoy coding.