| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- using System.Reflection;
- using api_cs;
- using Dapper;
- using DbUp;
- using MySqlConnector;
- string? connectionString = Environment.GetEnvironmentVariable("CONNECTION_STRING");
- Console.WriteLine("connectionString (from ENV): {0}", connectionString);
- if (connectionString == null)
- connectionString = "Server=localhost; Port=3308; User ID=root; Password=toor; Database=mydb;";
- // проверяет наличие возможности подключения к БД
- EnsureDatabase.For.MySqlDatabase(connectionString);
- // подгатавливает миграцию
- // куда и что будем накатывать
- var upgrader = DeployChanges.To
- .MySqlDatabase(connectionString)
- .WithScriptsEmbeddedInAssembly(Assembly.GetExecutingAssembly())
- .LogToConsole()
- .Build();
- // запуск миграции
- var result = upgrader.PerformUpgrade();
- // проверка результата миграции
- if (!result.Successful)
- {
- throw new Exception("Не смог сделать миграцию");
- }
- var builder = WebApplication.CreateBuilder(args);
- var app = builder.Build();
- app.MapGet("/genre", () =>
- {
- using (MySqlConnection db = new MySqlConnection(connectionString))
- {
- return db.Query<Genre>(
- "SELECT * FROM Genre");
- }
- });
- app.Run();
|