diff --git a/.github/workflows/pr-title-checker.yaml b/.github/workflows/pr-title-checker.yaml
index bf7d0ff..d1aac76 100644
--- a/.github/workflows/pr-title-checker.yaml
+++ b/.github/workflows/pr-title-checker.yaml
@@ -1,23 +1,23 @@
-name: Check PR title
-
-on:
- pull_request:
- types:
- - opened
- - reopened
- - edited
- - synchronize
-
-concurrency:
- group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
- cancel-in-progress: true
-
-jobs:
- title-checker:
- name: Check PR title
- runs-on: [ self-hosted ]
-
- steps:
- - uses: aslafy-z/conventional-pr-title-action@v2
- env:
+name: Check PR title
+
+on:
+ pull_request:
+ types:
+ - opened
+ - reopened
+ - edited
+ - synchronize
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
+ cancel-in-progress: true
+
+jobs:
+ title-checker:
+ name: Check PR title
+ runs-on: [ self-hosted ]
+
+ steps:
+ - uses: aslafy-z/conventional-pr-title-action@v2
+ env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
\ No newline at end of file
diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml
index 7c30e46..435365f 100644
--- a/.github/workflows/release-drafter.yml
+++ b/.github/workflows/release-drafter.yml
@@ -5,7 +5,6 @@
on:
push:
branches:
- - develop
- main
jobs:
diff --git a/.github/workflows/update-changelog.yml b/.github/workflows/update-changelog.yml
index 55e006c..f3d2fce 100644
--- a/.github/workflows/update-changelog.yml
+++ b/.github/workflows/update-changelog.yml
@@ -1,28 +1,28 @@
-name: Update Changelog
-
-on:
- release:
- types:
- - released
-
-jobs:
- update:
- name: Update Changelog
- runs-on: ubuntu-latest
-
- steps:
- - name: Checkout code
- uses: actions/checkout@v2
-
- - name: Update Changelog
- uses: stefanzweifel/changelog-updater-action@v1
- with:
- latest-version: ${{ github.event.release.name }}
- release-notes: ${{ github.event.release.body }}
-
- - name: Commit updated Changelog
- uses: stefanzweifel/git-auto-commit-action@v4
- with:
- branch: main
- commit_message: 'docs(changelog): update changelog'
+name: Update Changelog
+
+on:
+ release:
+ types:
+ - released
+
+jobs:
+ update:
+ name: Update Changelog
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v2
+
+ - name: Update Changelog
+ uses: stefanzweifel/changelog-updater-action@v1
+ with:
+ latest-version: ${{ github.event.release.name }}
+ release-notes: ${{ github.event.release.body }}
+
+ - name: Commit updated Changelog
+ uses: stefanzweifel/git-auto-commit-action@v4
+ with:
+ branch: main
+ commit_message: 'docs(changelog): update changelog'
file_pattern: CHANGELOG.md
\ No newline at end of file
diff --git a/src/BuildingBlocks/BuildingBlocks.csproj b/src/BuildingBlocks/BuildingBlocks.csproj
index fc9433b..2da37be 100644
--- a/src/BuildingBlocks/BuildingBlocks.csproj
+++ b/src/BuildingBlocks/BuildingBlocks.csproj
@@ -152,6 +152,7 @@
+
diff --git a/src/BuildingBlocks/EFCore/Extensions.cs b/src/BuildingBlocks/EFCore/Extensions.cs
index 9f6c998..7237edb 100644
--- a/src/BuildingBlocks/EFCore/Extensions.cs
+++ b/src/BuildingBlocks/EFCore/Extensions.cs
@@ -11,6 +11,9 @@ using Microsoft.Extensions.Hosting;
namespace BuildingBlocks.EFCore;
+using Humanizer;
+using Microsoft.EntityFrameworkCore.Metadata;
+
public static class Extensions
{
public static IServiceCollection AddCustomDbContext(
@@ -71,6 +74,35 @@ public static class Extensions
}
}
+
+ //ref: https://andrewlock.net/customising-asp-net-core-identity-ef-core-naming-conventions-for-postgresql/
+ public static void ToSnakeCaseTables(this ModelBuilder modelBuilder)
+ {
+ foreach (var entity in modelBuilder.Model.GetEntityTypes())
+ {
+ // Replace table names
+ entity.SetTableName(entity.GetTableName()?.Underscore());
+
+ var tableObjectIdentifier = StoreObjectIdentifier.Table(entity.GetTableName()?.Underscore()!, entity.GetSchema());
+
+ // Replace column names
+ foreach (var property in entity.GetProperties())
+ {
+ property.SetColumnName(property.GetColumnName(tableObjectIdentifier)?.Underscore());
+ }
+
+ foreach (var key in entity.GetKeys())
+ {
+ key.SetName(key.GetName()?.Underscore());
+ }
+
+ foreach (var key in entity.GetForeignKeys())
+ {
+ key.SetConstraintName(key.GetConstraintName()?.Underscore());
+ }
+ }
+ }
+
private static async Task MigrateDatabaseAsync(IServiceProvider serviceProvider)
where TContext : DbContext, IDbContext
{
diff --git a/src/BuildingBlocks/PersistMessageProcessor/Data/Configurations/PersistMessageConfiguration.cs b/src/BuildingBlocks/PersistMessageProcessor/Data/Configurations/PersistMessageConfiguration.cs
index 6689f49..5d75328 100644
--- a/src/BuildingBlocks/PersistMessageProcessor/Data/Configurations/PersistMessageConfiguration.cs
+++ b/src/BuildingBlocks/PersistMessageProcessor/Data/Configurations/PersistMessageConfiguration.cs
@@ -7,7 +7,7 @@ public class PersistMessageConfiguration : IEntityTypeConfiguration builder)
{
- builder.ToTable("persistMessage");
+ builder.ToTable(nameof(PersistMessage));
builder.HasKey(x => x.Id);
diff --git a/src/BuildingBlocks/PersistMessageProcessor/Data/Migrations/20230113134415_initial.Designer.cs b/src/BuildingBlocks/PersistMessageProcessor/Data/Migrations/20230113183839_initial.Designer.cs
similarity index 95%
rename from src/BuildingBlocks/PersistMessageProcessor/Data/Migrations/20230113134415_initial.Designer.cs
rename to src/BuildingBlocks/PersistMessageProcessor/Data/Migrations/20230113183839_initial.Designer.cs
index dd72190..e6ae47d 100644
--- a/src/BuildingBlocks/PersistMessageProcessor/Data/Migrations/20230113134415_initial.Designer.cs
+++ b/src/BuildingBlocks/PersistMessageProcessor/Data/Migrations/20230113183839_initial.Designer.cs
@@ -12,7 +12,7 @@ using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
namespace BuildingBlocks.PersistMessageProcessor.Data.Migrations
{
[DbContext(typeof(PersistMessageDbContext))]
- [Migration("20230113134415_initial")]
+ [Migration("20230113183839_initial")]
partial class initial
{
///
@@ -64,7 +64,7 @@ namespace BuildingBlocks.PersistMessageProcessor.Data.Migrations
b.HasKey("Id")
.HasName("pk_persist_message");
- b.ToTable("persistMessage", (string)null);
+ b.ToTable("persist_message", (string)null);
});
#pragma warning restore 612, 618
}
diff --git a/src/BuildingBlocks/PersistMessageProcessor/Data/Migrations/20230113134415_initial.cs b/src/BuildingBlocks/PersistMessageProcessor/Data/Migrations/20230113183839_initial.cs
similarity index 94%
rename from src/BuildingBlocks/PersistMessageProcessor/Data/Migrations/20230113134415_initial.cs
rename to src/BuildingBlocks/PersistMessageProcessor/Data/Migrations/20230113183839_initial.cs
index ee75b55..d69e646 100644
--- a/src/BuildingBlocks/PersistMessageProcessor/Data/Migrations/20230113134415_initial.cs
+++ b/src/BuildingBlocks/PersistMessageProcessor/Data/Migrations/20230113183839_initial.cs
@@ -12,7 +12,7 @@ namespace BuildingBlocks.PersistMessageProcessor.Data.Migrations
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
- name: "persistMessage",
+ name: "persist_message",
columns: table => new
{
id = table.Column(type: "bigint", nullable: false),
@@ -33,7 +33,7 @@ namespace BuildingBlocks.PersistMessageProcessor.Data.Migrations
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
- name: "persistMessage");
+ name: "persist_message");
}
}
}
diff --git a/src/BuildingBlocks/PersistMessageProcessor/Data/Migrations/PersistMessageDbContextModelSnapshot.cs b/src/BuildingBlocks/PersistMessageProcessor/Data/Migrations/PersistMessageDbContextModelSnapshot.cs
index 74939c2..5b82f17 100644
--- a/src/BuildingBlocks/PersistMessageProcessor/Data/Migrations/PersistMessageDbContextModelSnapshot.cs
+++ b/src/BuildingBlocks/PersistMessageProcessor/Data/Migrations/PersistMessageDbContextModelSnapshot.cs
@@ -61,7 +61,7 @@ namespace BuildingBlocks.PersistMessageProcessor.Data.Migrations
b.HasKey("Id")
.HasName("pk_persist_message");
- b.ToTable("persistMessage", (string)null);
+ b.ToTable("persist_message", (string)null);
});
#pragma warning restore 612, 618
}
diff --git a/src/BuildingBlocks/PersistMessageProcessor/Data/PersistMessageDbContext.cs b/src/BuildingBlocks/PersistMessageProcessor/Data/PersistMessageDbContext.cs
index 19d94b7..2db8d66 100644
--- a/src/BuildingBlocks/PersistMessageProcessor/Data/PersistMessageDbContext.cs
+++ b/src/BuildingBlocks/PersistMessageProcessor/Data/PersistMessageDbContext.cs
@@ -15,5 +15,6 @@ public class PersistMessageDbContext : AppDbContextBase, IPersistMessageDbContex
{
builder.ApplyConfiguration(new PersistMessageConfiguration());
base.OnModelCreating(builder);
+ builder.ToSnakeCaseTables();
}
}
diff --git a/src/Services/Flight/src/Flight/Data/Configurations/AircraftConfiguration.cs b/src/Services/Flight/src/Flight/Data/Configurations/AircraftConfiguration.cs
index c0ae112..2af92aa 100644
--- a/src/Services/Flight/src/Flight/Data/Configurations/AircraftConfiguration.cs
+++ b/src/Services/Flight/src/Flight/Data/Configurations/AircraftConfiguration.cs
@@ -8,7 +8,7 @@ public class AircraftConfiguration : IEntityTypeConfiguration
{
public void Configure(EntityTypeBuilder builder)
{
- builder.ToTable("aircraft");
+ builder.ToTable(nameof(Aircraft));
builder.HasKey(r => r.Id);
builder.Property(r => r.Id).ValueGeneratedNever();
}
diff --git a/src/Services/Flight/src/Flight/Data/Configurations/AirportConfiguration.cs b/src/Services/Flight/src/Flight/Data/Configurations/AirportConfiguration.cs
index 9561491..8fc776a 100644
--- a/src/Services/Flight/src/Flight/Data/Configurations/AirportConfiguration.cs
+++ b/src/Services/Flight/src/Flight/Data/Configurations/AirportConfiguration.cs
@@ -1,4 +1,3 @@
-using BuildingBlocks.EFCore;
using Flight.Airports.Models;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
@@ -9,7 +8,7 @@ public class AirportConfiguration: IEntityTypeConfiguration
{
public void Configure(EntityTypeBuilder builder)
{
- builder.ToTable("airport");
+ builder.ToTable(nameof(Airport));
builder.HasKey(r => r.Id);
builder.Property(r => r.Id).ValueGeneratedNever();
diff --git a/src/Services/Flight/src/Flight/Data/Configurations/FlightConfiguration.cs b/src/Services/Flight/src/Flight/Data/Configurations/FlightConfiguration.cs
index a1aa491..181dbab 100644
--- a/src/Services/Flight/src/Flight/Data/Configurations/FlightConfiguration.cs
+++ b/src/Services/Flight/src/Flight/Data/Configurations/FlightConfiguration.cs
@@ -12,7 +12,7 @@ public class FlightConfiguration : IEntityTypeConfiguration builder)
{
- builder.ToTable("flight");
+ builder.ToTable(nameof(Flight));
builder.HasKey(r => r.Id);
builder.Property(r => r.Id).ValueGeneratedNever();
diff --git a/src/Services/Flight/src/Flight/Data/Configurations/SeatConfiguration.cs b/src/Services/Flight/src/Flight/Data/Configurations/SeatConfiguration.cs
index 1e8404e..0ff9083 100644
--- a/src/Services/Flight/src/Flight/Data/Configurations/SeatConfiguration.cs
+++ b/src/Services/Flight/src/Flight/Data/Configurations/SeatConfiguration.cs
@@ -11,7 +11,7 @@ public class SeatConfiguration : IEntityTypeConfiguration
{
public void Configure(EntityTypeBuilder builder)
{
- builder.ToTable("seat");
+ builder.ToTable(nameof(Seat));
builder.HasKey(r => r.Id);
builder.Property(r => r.Id).ValueGeneratedNever();
diff --git a/src/Services/Flight/src/Flight/Data/FlightDbContext.cs b/src/Services/Flight/src/Flight/Data/FlightDbContext.cs
index 1ee6f11..8274430 100644
--- a/src/Services/Flight/src/Flight/Data/FlightDbContext.cs
+++ b/src/Services/Flight/src/Flight/Data/FlightDbContext.cs
@@ -1,5 +1,4 @@
using BuildingBlocks.EFCore;
-using BuildingBlocks.Utils;
using BuildingBlocks.Web;
using Flight.Aircrafts.Models;
using Flight.Airports.Models;
@@ -8,12 +7,14 @@ using Microsoft.EntityFrameworkCore;
namespace Flight.Data;
+
public sealed class FlightDbContext : AppDbContextBase
{
public FlightDbContext(DbContextOptions options, ICurrentUserProvider currentUserProvider) : base(
options, currentUserProvider)
{
}
+
public DbSet Flights => Set();
public DbSet Airports => Set();
public DbSet Aircraft => Set();
@@ -24,5 +25,6 @@ public sealed class FlightDbContext : AppDbContextBase
base.OnModelCreating(builder);
builder.FilterSoftDeletedProperties();
builder.ApplyConfigurationsFromAssembly(typeof(FlightRoot).Assembly);
+ builder.ToSnakeCaseTables();
}
}
diff --git a/src/Services/Flight/src/Flight/Data/Migrations/20230113134450_Init.Designer.cs b/src/Services/Flight/src/Flight/Data/Migrations/20230113183335_Init.Designer.cs
similarity index 98%
rename from src/Services/Flight/src/Flight/Data/Migrations/20230113134450_Init.Designer.cs
rename to src/Services/Flight/src/Flight/Data/Migrations/20230113183335_Init.Designer.cs
index 89a56bf..9374273 100644
--- a/src/Services/Flight/src/Flight/Data/Migrations/20230113134450_Init.Designer.cs
+++ b/src/Services/Flight/src/Flight/Data/Migrations/20230113183335_Init.Designer.cs
@@ -12,7 +12,7 @@ using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
namespace Flight.Data.Migrations
{
[DbContext(typeof(FlightDbContext))]
- [Migration("20230113134450_Init")]
+ [Migration("20230113183335_Init")]
partial class Init
{
///
@@ -281,7 +281,7 @@ namespace Flight.Data.Migrations
.HasForeignKey("ArriveAirportId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
- .HasConstraintName("fk_flight_airport_airport_id");
+ .HasConstraintName("fk_flight_airport_arrive_airport_id");
});
modelBuilder.Entity("Flight.Seats.Models.Seat", b =>
diff --git a/src/Services/Flight/src/Flight/Data/Migrations/20230113134450_Init.cs b/src/Services/Flight/src/Flight/Data/Migrations/20230113183335_Init.cs
similarity index 99%
rename from src/Services/Flight/src/Flight/Data/Migrations/20230113134450_Init.cs
rename to src/Services/Flight/src/Flight/Data/Migrations/20230113183335_Init.cs
index 12f07ac..affce5c 100644
--- a/src/Services/Flight/src/Flight/Data/Migrations/20230113134450_Init.cs
+++ b/src/Services/Flight/src/Flight/Data/Migrations/20230113183335_Init.cs
@@ -83,7 +83,7 @@ namespace Flight.Data.Migrations
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
- name: "fk_flight_airport_airport_id",
+ name: "fk_flight_airport_arrive_airport_id",
column: x => x.arriveairportid,
principalTable: "airport",
principalColumn: "id",
diff --git a/src/Services/Flight/src/Flight/Data/Migrations/FlightDbContextModelSnapshot.cs b/src/Services/Flight/src/Flight/Data/Migrations/FlightDbContextModelSnapshot.cs
index 613d044..3a944c1 100644
--- a/src/Services/Flight/src/Flight/Data/Migrations/FlightDbContextModelSnapshot.cs
+++ b/src/Services/Flight/src/Flight/Data/Migrations/FlightDbContextModelSnapshot.cs
@@ -278,7 +278,7 @@ namespace Flight.Data.Migrations
.HasForeignKey("ArriveAirportId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
- .HasConstraintName("fk_flight_airport_airport_id");
+ .HasConstraintName("fk_flight_airport_arrive_airport_id");
});
modelBuilder.Entity("Flight.Seats.Models.Seat", b =>
diff --git a/src/Services/Identity/src/Identity/Data/IdentityContext.cs b/src/Services/Identity/src/Identity/Data/IdentityContext.cs
index 84b9b02..8c1ab5a 100644
--- a/src/Services/Identity/src/Identity/Data/IdentityContext.cs
+++ b/src/Services/Identity/src/Identity/Data/IdentityContext.cs
@@ -34,33 +34,8 @@ public sealed class IdentityContext : IdentityDbContext
diff --git a/src/Services/Identity/src/Identity/Data/Migrations/20230113134523_initial.cs b/src/Services/Identity/src/Identity/Data/Migrations/20230113183552_initial.cs
similarity index 100%
rename from src/Services/Identity/src/Identity/Data/Migrations/20230113134523_initial.cs
rename to src/Services/Identity/src/Identity/Data/Migrations/20230113183552_initial.cs
diff --git a/src/Services/Passenger/src/Passenger/Data/Configurations/PassengerConfiguration.cs b/src/Services/Passenger/src/Passenger/Data/Configurations/PassengerConfiguration.cs
index 6fea012..eb787bd 100644
--- a/src/Services/Passenger/src/Passenger/Data/Configurations/PassengerConfiguration.cs
+++ b/src/Services/Passenger/src/Passenger/Data/Configurations/PassengerConfiguration.cs
@@ -8,7 +8,7 @@ public class PassengerConfiguration: IEntityTypeConfiguration builder)
{
- builder.ToTable("passenger");
+ builder.ToTable(nameof(Passenger));
builder.HasKey(r => r.Id);
builder.Property(r => r.Id).ValueGeneratedNever();
diff --git a/src/Services/Passenger/src/Passenger/Data/Migrations/20230113134610_initial.Designer.cs b/src/Services/Passenger/src/Passenger/Data/Migrations/20230113183717_initial.Designer.cs
similarity index 98%
rename from src/Services/Passenger/src/Passenger/Data/Migrations/20230113134610_initial.Designer.cs
rename to src/Services/Passenger/src/Passenger/Data/Migrations/20230113183717_initial.Designer.cs
index 7657b3f..ee01a84 100644
--- a/src/Services/Passenger/src/Passenger/Data/Migrations/20230113134610_initial.Designer.cs
+++ b/src/Services/Passenger/src/Passenger/Data/Migrations/20230113183717_initial.Designer.cs
@@ -12,7 +12,7 @@ using Passenger.Data;
namespace Passenger.Data.Migrations
{
[DbContext(typeof(PassengerDbContext))]
- [Migration("20230113134610_initial")]
+ [Migration("20230113183717_initial")]
partial class initial
{
///
diff --git a/src/Services/Passenger/src/Passenger/Data/Migrations/20230113134610_initial.cs b/src/Services/Passenger/src/Passenger/Data/Migrations/20230113183717_initial.cs
similarity index 100%
rename from src/Services/Passenger/src/Passenger/Data/Migrations/20230113134610_initial.cs
rename to src/Services/Passenger/src/Passenger/Data/Migrations/20230113183717_initial.cs
diff --git a/src/Services/Passenger/src/Passenger/Data/PassengerDbContext.cs b/src/Services/Passenger/src/Passenger/Data/PassengerDbContext.cs
index f0bfd18..03caa18 100644
--- a/src/Services/Passenger/src/Passenger/Data/PassengerDbContext.cs
+++ b/src/Services/Passenger/src/Passenger/Data/PassengerDbContext.cs
@@ -17,5 +17,6 @@ public sealed class PassengerDbContext : AppDbContextBase
{
builder.ApplyConfigurationsFromAssembly(Assembly.GetExecutingAssembly());
base.OnModelCreating(builder);
+ builder.ToSnakeCaseTables();
}
}