There is no way to do this at the moment. Database is created with default settings. It is not an issue on most cases, but there is a plenty of specific ones. For example, I have different collation on production server db, then on development machine.
After some research I've come up with workaround. Pretty ugly so far, but at least working
In Migrations\00000000000000_CreateIdentitySchema.cs add
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.Sql($"DECLARE @dbname sysname = db_name(); " +
"EXEC('ALTER DATABASE [' + @dbname + '] SET SINGLE_USER WITH ROLLBACK IMMEDIATE');" +
"EXEC('ALTER DATABASE [' + @dbname + '] COLLATE Cyrillic_General_CI_AS');" +
"EXEC('ALTER DATABASE [' + @dbname + '] SET MULTI_USER') ", suppressTransaction: true);
...
}
It is ok. But the connection is reset after execution of this first migration so I have to run in separately.
I've come up with the following script (resetdb.cmd):
dotnet ef database update 00000000000000_CreateIdentitySchema
dotnet ef database update
So, there should be a proper way to do such things.
See also #6565
There is no way to do this at the moment. Database is created with default settings. It is not an issue on most cases, but there is a plenty of specific ones. For example, I have different collation on production server db, then on development machine.
After some research I've come up with workaround. Pretty ugly so far, but at least working
In Migrations\00000000000000_CreateIdentitySchema.cs add
It is ok. But the connection is reset after execution of this first migration so I have to run in separately.
I've come up with the following script (resetdb.cmd):
So, there should be a proper way to do such things.
See also #6565