Skip to content

Commit 1a55591

Browse files
fix the startup issue
1 parent ccde432 commit 1a55591

File tree

4 files changed

+18
-29
lines changed

4 files changed

+18
-29
lines changed

MobileConfiguration/Database/ConfigurationContext.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,20 @@ public ConfigurationContext(String connectionString) {
1717
this.ConnectionString = connectionString;
1818
}
1919

20-
public ConfigurationContext(DbContextOptions<ConfigurationContext> dbContextOptions) : base(dbContextOptions) {
20+
public ConfigurationContext(DbContextOptions dbContextOptions) : base(dbContextOptions) {
2121
}
2222

2323
#endregion
2424

2525
public virtual async Task MigrateAsync(CancellationToken cancellationToken) {
2626
if (this.Database.IsSqlServer()) {
27-
await this.Database.MigrateAsync(cancellationToken);
27+
try {
28+
await this.Database.MigrateAsync(cancellationToken);
29+
}
30+
catch (Exception ex) {
31+
// Log the exception or handle it as needed
32+
throw new InvalidOperationException("An error occurred while migrating the database.", ex);
33+
}
2834
}
2935
}
3036

MobileConfiguration/Database/ConfigurationReaderConnectionStringRepository.cs

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -29,33 +29,18 @@ public async Task DeleteConnectionStringConfiguration(String externalIdentifier,
2929

3030
public async Task<String> GetConnectionString(String externalIdentifier,
3131
String connectionStringIdentifier,
32-
CancellationToken cancellationToken)
33-
{
32+
CancellationToken cancellationToken) {
3433
String connectionString = string.Empty;
3534
String databaseName = string.Empty;
3635

37-
String databaseEngine = ConfigurationReader.GetValue("AppSettings", "DatabaseEngine");
38-
3936
databaseName = $"{connectionStringIdentifier}{externalIdentifier}";
4037
connectionString = ConfigurationReader.GetConnectionString(connectionStringIdentifier);
4138

4239
DbConnectionStringBuilder builder = null;
4340

44-
if (databaseEngine == "MySql")
45-
{
46-
builder = new MySqlConnectionStringBuilder(connectionString)
47-
{
48-
Database = databaseName
49-
};
50-
}
51-
else
52-
{
53-
// Default to SQL Server
54-
builder = new SqlConnectionStringBuilder(connectionString)
55-
{
56-
InitialCatalog = databaseName
57-
};
58-
}
41+
// Default to SQL Server
42+
builder = new SqlConnectionStringBuilder(connectionString) { InitialCatalog = databaseName };
43+
5944

6045
return builder.ToString();
6146
}

MobileConfiguration/Program.cs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,11 @@
4949
builder.Services.AddSingleton<Func<String, ConfigurationContext>>(cont => (connectionString) => new ConfigurationContext(contextBuilder.Options));
5050
}
5151
else {
52+
5253
String connectionString = ConfigurationReader.GetConnectionString("ConfigurationDatabase");
5354
builder.Services.AddDbContext<ConfigurationContext>(builder => builder.UseSqlServer(connectionString));
54-
builder.Services.AddSingleton<Func<String, ConfigurationContext>>(cont => connectionString => new ConfigurationContext(connectionString));
55+
builder.Services.AddSingleton<Func<String, ConfigurationContext>>(cont => (connectionString) => { return new ConfigurationContext(connectionString); });
5556
}
56-
5757
bool logRequests = ConfigurationReaderExtensions.GetValueOrDefault<Boolean>("MiddlewareLogging", "LogRequests", true);
5858
bool logResponses = ConfigurationReaderExtensions.GetValueOrDefault<Boolean>("MiddlewareLogging", "LogResponses", true);
5959
LogLevel middlewareLogLevel = ConfigurationReaderExtensions.GetValueOrDefault<LogLevel>("MiddlewareLogging", "MiddlewareLogLevel", LogLevel.Warning);
@@ -108,13 +108,11 @@ async Task InitializeDatabase(IApplicationBuilder app)
108108
{
109109
using (IServiceScope serviceScope = app.ApplicationServices.GetService<IServiceScopeFactory>().CreateScope())
110110
{
111-
var dbContextFactory = serviceScope.ServiceProvider.GetRequiredService<Shared.EntityFramework.IDbContextFactory<ConfigurationContext>>();
112-
113-
var dbContext = await dbContextFactory.GetContext(Guid.NewGuid(), "ConfigurationDatabase", CancellationToken.None);
114-
111+
ConfigurationContext dbContext = serviceScope.ServiceProvider.GetRequiredService<ConfigurationContext>();
112+
115113
if (dbContext!= null && dbContext.Database.IsRelational())
116114
{
117-
dbContext.Database.Migrate();
115+
await dbContext.MigrateAsync(CancellationToken.None);
118116
}
119117
}
120118
}

MobileConfiguration/appsettings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@
44
"InMemoryDatabase": false
55
},
66
"ConnectionStrings": {
7-
"ConfigurationDatabase": "server=127.0.0.1;user id=sa;password=Sc0tland;database=ConfigurationHost;Encrypt=false"
7+
"ConfigurationDatabase": "server=127.0.0.1;user id=sa;password=sp1ttal;database=ConfigurationHost;Encrypt=false"
88
}
99
}

0 commit comments

Comments
 (0)