-
-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add postgres support #235
Add postgres support #235
Conversation
src/LinkDotNet.Blog.Web/RegistrationExtensions/SqlRegistrationExtensions.cs
Show resolved
Hide resolved
In |
You're making good progress - we are almost there ;) |
After thinking about it, I would call the identifier |
I fixed the mentioned points and now the problem changed. using LinkDotNet.Blog.Domain;
using LinkDotNet.Blog.Infrastructure.Persistence.Sql.Mapping;
using Microsoft.EntityFrameworkCore;
namespace LinkDotNet.Blog.Infrastructure.Persistence.Sql;
public sealed class BlogDbContext : DbContext
{
public BlogDbContext(DbContextOptions options)
: base(options)
{
Database.EnsureCreated();
}
...
} I thinks it's related to tables not created. But I didn't find a mention on README.md about migrations or anything else. And if I try to create a migration the CLI says Follow the error:
|
I found this information at Npgsql documentation, but I'm still stuck at this point.
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
=> optionsBuilder.UseNpgsql(
"<connection_string>",
options => options.UseAdminDatabase("my_admin_db")); |
Yeah I did not use Migrations until now as it is sometimes almost impossible with multiple different SQL dialects.
That is exactly where |
In the default configuration (according to the docs) this should work: protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
=> optionsBuilder.UseNpgsql(
"<connection_string>",
options => options.UseAdminDatabase("postgres")); If so, we would need to configure the admin database in the options (optionally and if not set it is postgres) |
For Postgres use the following: | ||
|
||
``` | ||
"PersistenceProvider": "Postgres" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Has to be Postgresql
Hi @linkdotnet , I tried everything, but the blog doesn't start using a database, just in memory. I ran a MySql instance to test using the pre-existent configuration in the project and the error was the same. I searched on Google about this problem and some people related it mentioning .Net 7, but nothing concrete as a solution. But this problem appears in old versions, like in 2019, so I don't know if it's exactly because of the .Net version. Which database are you using to run the project? Are you running using .Net 7 ? Error:
|
I will have a look today or later tomorrow. I run it with .NET 7 on a SqlServer. |
I checked it locally - and yes there are some problems. Currently I only 2 ways forward: |
Shall we close this for now? @diegodrf |
Ok. Let's close the PR. |
I created the configurations for postgres, but at startup, the application is crashing.
I analyzed it but couldn't identify the problem. Reading the stack trace I understood that can be something related to
IRepository<>
and/orUserRecord
at the moment of dependency injections but I didn't identify the problem. Do you know what can be the problem?I tested using the in-memory provider and the application starts fine.
Follow the error below.
>LinkDotNet.Blog.Web.dll!LinkDotNet.Blog.Web.Program.Main(string[] args) Line 19 C#
.