Hi guys,
I have added an appsettings.Development.json file to my Web.Host project for use on my local machine which works fine.
However the EntityFrameworkCore project must not use the file because whenever I do Update-Database it fails (unable to find sql instance) unless I put the correct conn string back into appsettings.json.
How or where can I adjust the connection string resolver so that .Development will be respected by migrations?
Im using v6.8.0
Regards, Pete
13 Answer(s)
-
0
You can try this solution: https://entityframework.net/knowledge-base/48913968/net-core-2---entity-framework--update-database-of-different-environment
Related discussion: https://github.com/aspnet/EntityFrameworkCore/issues/7353
Markdown is supportedCopy & paste or drag & drop images (max 30 MB per image) -
0
Neither using set or $env = seemed to work, any other ideas?
Markdown is supportedCopy & paste or drag & drop images (max 30 MB per image) -
0Markdown is supportedCopy & paste or drag & drop images (max 30 MB per image)
-
0
Hi again,
Sorry I should have been clearer in my response yesterday.
I have tried both the following and they dont work
set ASPNETCORE_ENVIRONMENT=Development
and
$env:ASPNETCORE_ENVIRONMENT='Development'
Markdown is supportedCopy & paste or drag & drop images (max 30 MB per image) -
0
@piapps
You can try modifying the DbContextFactory as follows:
Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")
public class AbpZeroTemplateDbContextFactory : IDesignTimeDbContextFactory<AbpZeroTemplateDbContext> { public AbpZeroTemplateDbContext CreateDbContext(string[] args) { var builder = new DbContextOptionsBuilder<AbpZeroTemplateDbContext>(); var configuration = AppConfigurations.Get(WebContentDirectoryFinder.CalculateContentRootFolder(), Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT"), addUserSecrets: true); AbpZeroTemplateDbContextConfigurer.Configure(builder, configuration.GetConnectionString(AbpZeroTemplateConsts.ConnectionStringName)); return new AbpZeroTemplateDbContext(builder.Options); } }PM> $Env:ASPNETCORE_ENVIRONMENT = "Staging" PM> $Env:ASPNETCORE_ENVIRONMENT Staging PM> Update-Database Applying migration '20170406083347_Initial_Migration'. Applying migration '20170623075109_AspNetZero_V4_1_Changes'. Applying migration '20170704084731_Added_GoogleAuthenticatorKey_Column'. Applying migration '20170714081027_Added_Relation_Between_Edition_And_SubscriptionPayment'. Applying migration '20170724142223_Upgraded_To_Abp_V2_2'. Applying migration '20170913133916_Added_SharedMessageId_To_ChatMessage'. Applying migration '20170914070123_Added_ReceiverReadState_To_ChatMessage'. Applying migration '20170914084815_Invoice_Changes'. Applying migration '20170914121022_TypeChange_SharedMessageId_String_Guid'. Applying migration '20180118065703_Added_Entity_History'. Applying migration '20180320065710_Upgraded_To_Abp_V3_5'. Applying migration '20180718081610_Abp_v3_7_Changes'. Applying migration '20180726063233_Upgraded_ABP_v3.8.0'. Applying migration '20180731052649_Upgrade_ABP_v3.8.1'. Applying migration '20180807062930_Upgrade_ABP_v3.8.2'. Applying migration '20181012141151_Upgraded_To_Abp_v3_9_0'. Applying migration '20190103081952_Recurring_Payment_Changes'. Applying migration '20190208083524_Upgraded_To_Abp_v4_2_0'. Applying migration '20190304131651_Added_User_OrganizationUnits'. Done. PM>Markdown is supportedCopy & paste or drag & drop images (max 30 MB per image) -
0
That worked thanks, better yet after setting that change to the factory I have gone into properties of the EFCore project and set the environment variable in there so it remembers between Visual studio sessions (same as the host project)
Thanks again
Markdown is supportedCopy & paste or drag & drop images (max 30 MB per image) -
0
Thanks maliming why this code not added default template
Markdown is supportedCopy & paste or drag & drop images (max 30 MB per image) -
0
I will consider adding this code to the template. : )
Markdown is supportedCopy & paste or drag & drop images (max 30 MB per image) -
0
This issue is closed because of no recent activity. Please open a new issue if you are still having this problem.
Markdown is supportedCopy & paste or drag & drop images (max 30 MB per image) -
0
Hello
@maliming, have you considered adding this code to the template? I mean, it was 2 years since this bug was reported and 1 year since you said, that you will consider it.
Today I ran in the exact same issue and it cost me quite some time to finally find this thread. As one might imagine, it is quite annoying to spend time investigating a 2 year old bug, that already has a solution but the developers were just considering fixing it, instead of actually fixing it...
So could someone please finally add this fix to the template?
Thanks a lot
Kind regards
Markdown is supportedCopy & paste or drag & drop images (max 30 MB per image) -
0
hi @conzepta
I will add some comment to IDesignTimeDbContextFactory
Markdown is supportedCopy & paste or drag & drop images (max 30 MB per image) -
0
https://github.com/aspnetzero/aspnet-zero-core/pull/3764
Markdown is supportedCopy & paste or drag & drop images (max 30 MB per image) -
0
Thank you very much =)
Markdown is supportedCopy & paste or drag & drop images (max 30 MB per image)