@@ -247,6 +247,24 @@ if (!string.IsNullOrEmpty(netCoreDir))
|
||||
|
||||
var app = builder.Build();
|
||||
|
||||
// SQLite không tự tạo thư mục chứa file database - tạo trước các thư mục trong ConnectionStrings
|
||||
// (đường dẫn tương đối như ./bin/dbs phụ thuộc working directory nên có thể chưa tồn tại)
|
||||
foreach (var connectionStringEntry in builder.Configuration.GetSection("ConnectionStrings").GetChildren())
|
||||
{
|
||||
var dataSource = connectionStringEntry.Value?
|
||||
.Split(';')
|
||||
.Select(part => part.Split('=', 2))
|
||||
.Where(kv => kv.Length == 2 && kv[0].Trim().Equals("Data Source", StringComparison.OrdinalIgnoreCase))
|
||||
.Select(kv => kv[1].Trim())
|
||||
.FirstOrDefault();
|
||||
|
||||
var dbDirectory = string.IsNullOrEmpty(dataSource) ? null : Path.GetDirectoryName(dataSource);
|
||||
if (!string.IsNullOrEmpty(dbDirectory))
|
||||
{
|
||||
Directory.CreateDirectory(dbDirectory);
|
||||
}
|
||||
}
|
||||
|
||||
await app.Services.SeedApplicationDbAsync();
|
||||
await app.Services.SeedScriptEngineDbAsync();
|
||||
await app.Services.SeedMapManagerAsync();
|
||||
|
||||
Reference in New Issue
Block a user