Pomelo.entityframeworkcore.mysql: рдбрд┐рдлрд╝реЙрд▓реНрдЯ ASP.NET рдХреЛрд░ 3.0 рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдФрд░ рдкрд╣рдЪрд╛рди рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде nvarchar рдФрд░ nvarchar(max) рддреНрд░реБрдЯрд┐рдпрд╛рдБ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 9 рдЕрдХреНрддреВре░ 2019  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: PomeloFoundation/Pomelo.EntityFrameworkCore.MySql

рдкреНрд░рдЬрдирди рдХреЗ рдЪрд░рдг

рд╕реНрдХреНрд░рд┐рдкреНрдЯ-рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБред

рдПрдВрдЯрд┐рдЯреА рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛрд░ 3.0.0 рдиреЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдкреНрд░рджрд╛рддрд╛ 'рдкреЛрдореЗрд▓реЛ.рдПрдВрдЯрд┐рдЯреАрдлреНрд░реЗрдорд╡рд░реНрдХрдХреЛрд░.рдорд╛рдИрдПрд╕рдХреНрд▓' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ 'рдПрдкреНрд▓реАрдХреЗрд╢рди рдбреАрдмреАрдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ' рд╢реБрд░реВ рдХрд┐рдпрд╛: рдореИрдХреНрд╕рдкреВрд▓рд╕рд╛рдЗрдЬ = 128 рд╕рд░реНрд╡рд░рд╡рд░реНрд╕рди 5.7.22 рдорд╛рдпрдПрд╕рдХреНрдпреВрдПрд▓

рд╕рдорд╕реНрдпрд╛

ASP.NET рдХреЛрд░ рдкрд╣рдЪрд╛рди рдХреЗ рд▓рд┐рдП рдЬреЗрдирд░реЗрдЯ рдХреА рдЧрдИ SQL рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВред рдореБрдЭреЗ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдорд┐рд▓рддреЗ рд╣реИрдВ, рдЬрдм рдореИрдВ рдЕрдкрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди (рдХреЗрд╡рд▓ рдкрд╣рд▓реА рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдПрдВ) рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ nvarchar рдФрд░ nvarchar(max) рдореБрджреНрджреЗ рд╣реИрдВред

рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдПрдВ AspNetRoles (
Id nvarchar(450) рдиреНрдпреВрд▓ рдирд╣реАрдВ,
Name nvarchar(256) NULL,
NormalizedName nvarchar(256) NULL,
ConcurrencyStamp nvarchar(max) NULL,
рдмрд╛рдзрд╛ PK_AspNetRoles рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА ( Id )
);

рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рджреМрд░рд╛рди 4 рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдкрд╛рдИ рдЧрдИрдВред

рдЕрдкрд░рд┐рдЪрд┐рдд рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ред (рд╕реНрдерд┐рддрд┐ 39 рдкрд░ "рдирд╡рд░рдЪрд░" рдХреЗ рдкрд╛рд╕)
рдЕрдкрд░рд┐рдЪрд┐рдд рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ред (рд╕реНрдерд┐рддрд┐ 75 рдкрд░ "рдирд╡рд░рдЪрд░" рдХреЗ рдкрд╛рд╕)
рдЕрдкрд░рд┐рдЪрд┐рдд рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ред (рд╕реНрдерд┐рддрд┐ 117 рдкрд░ "рдирд╡рд░рдЪрд░" рдХреЗ рдкрд╛рд╕)
рдЕрдкрд░рд┐рдЪрд┐рдд рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ред (161 рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ "рдирд╡рд░рдЪрд░" рдХреЗ рдкрд╛рд╕)
рдПрд╕рдХреНрдпреВрдПрд▓ рдХреНрд╡реЗрд░реА:

рдЯреЗрдмрд▓ рдмрдирд╛рдПрдВ AspNetRoles ( Id nvarchar(450) NOT NULL, Name nvarchar(256) NULL, NormalizedName nvarchar(256) NULL, ConcurrencyStamp nvarchar(рдЕрдзрд┐рдХрддрдо) рдирд▓, рдмрд╛рдзрд╛ PK_AspNetRoles рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА ( Id ))

MySQL рдиреЗ рдХрд╣рд╛: рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг

резрежремрек - рдЖрдкрдХреЗ SQL рд╕рд┐рдВрдЯреИрдХреНрд╕ рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╣реИ; рдЕрдкрдиреЗ MySQL рд╕рд░реНрд╡рд░ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдореИрдиреБрдЕрд▓ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рддрд╛рдХрд┐ 'рдЕрдзрд┐рдХрддрдо) NULL' рдХреЗ рдкрд╛рд╕ рд╕рд╣реА рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ,

CONSTRAINT `PK_AspNetRoles` PRIMARY KEY (`Id`)

)' рд▓рд╛рдЗрди 5 . рдкрд░

рдЖрдЧреЗ рдХреА рддрдХрдиреАрдХреА рдЬрд╛рдирдХрд╛рд░реА

MySQL рд╕рдВрд╕реНрдХрд░рдг: 5.7.22
рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо: рд╡рд┐рдВрдбреЛрдЬ 10
Pomelo.EntityFrameworkCore.MySql рд╕рдВрд╕реНрдХрд░рдг: 3.0.0-rc1. final
Microsoft.AspNetCore.App рд╕рдВрд╕реНрдХрд░рдг: 3.0

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрджрд┐ рдЖрдк рдПрдХ рдирдпрд╛ ASP.NET рдХреЛрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ (рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╡рд┐рдХрд▓реНрдк рд╕рдХреНрд╖рдо рдХреЗ рд╕рд╛рде), EF рдХреЛрд░ рдкреНрд░рджрд╛рддрд╛ рдХреЛ Pomelo.EntityFrameworkCore.MySql рдмрджрд▓реЗрдВ рдФрд░ рдлрд┐рд░ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдпрд╛ рдЕрдкрдбреЗрдЯ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБред

рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╡реАрдПрд╕ рдиреЗ рдорд╛рдирд╛ рдХрд┐ рдЖрдк SQL рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрд╕рдиреЗ рдЖрдкрдХреА рдорджрдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдкрд╣рд▓реЗ рд╣реА CreateIdentitySchema рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд╛рдЗрдЧреНрд░реЗрд╢рди .\Data\Migrations\00000000000000_CreateIdentitySchema.cs ( Up рдпреБрдХреНрдд) рдЬреЛрдбрд╝ рджрд┐рдпрд╛ред Down рд╕рдВрдЪрд╛рд▓рди) рдФрд░ .\Data\Migrations\00000000000000_CreateIdentitySchema.Designer.cs (рдЕрддреНрдпрдзрд┐рдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдирд┐рд░реНрднрд░ рд▓рдХреНрд╖реНрдп рдореЙрдбрд▓ рдпреБрдХреНрдд), рдЬреЛ SQL рд╕рд░реНрд╡рд░ рдкреНрд░рджрд╛рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрддреНрдкрдиреНрди рдХрд┐рдП рдЧрдП рдереЗред

рдпрджрд┐ рдЖрдк SQL рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдХрджрдо рдХрдо рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рджрд╛рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдореЗрдВ рдЧрд▓рдд рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╣реЛрдЧрд╛ред

рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ MySQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ SQL рд╕рд░реНрд╡рд░ рдХрд╛ рднреА рдирд╣реАрдВ, рддреЛ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реИ рдХрд┐ UseMySql() рдХреЛ рдЖрдкрдХреЗ ConfigureServices рд╡рд┐рдзрд┐ рдореЗрдВ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ:

```рд╕реА#
рд╡рд┐рдХрд▓реНрдкред рдЙрдкрдпреЛрдЧ рдорд╛рдпрдПрд╕рдХреНрдпреВрдПрд▓ (
Configuration.GetConnectionString("DefaultConnection"));

Then delete the entire `Migrations` folder and just run something similar to the following command, to recreate the initial migration compatible with MySQL:

рдбреЙрдЯрдиреЗрдЯ рдПрдлрдИ рдорд╛рдЗрдЧреНрд░реЗрд╢рди CreateIdentitySchema рдЬреЛрдбрд╝реЗрдВ

After that, the newly created initial migration will be compatible with MySQL and other operations based on that migration will be as well.

For example, the `CREATE TABLE` script for `AspNetRoles` when creating a migration script (by using `dotnet ef migrations script`) will look like this:

```sql
CREATE TABLE `AspNetRoles` (
    `Id` varchar(255) NOT NULL,
    `Name` varchar(256) NULL,
    `NormalizedName` varchar(256) NULL,
    `ConcurrencyStamp` longtext NULL,
    CONSTRAINT `PK_AspNetRoles` PRIMARY KEY (`Id`)
);

рд╕рднреА 4 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

#863 рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп, рдореБрдЭреЗ dotnet ef update database рдХрдорд╛рдВрдб рдкрд░ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИ, рдЬреЛ рд╣реБрдб рдХреЗ рдиреАрдЪреЗ рд╕рдорд╛рди рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЕрднреА рдЗрд╕рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрджрд┐ рдЖрдк рдПрдХ рдирдпрд╛ ASP.NET рдХреЛрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ (рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╡рд┐рдХрд▓реНрдк рд╕рдХреНрд╖рдо рдХреЗ рд╕рд╛рде), EF рдХреЛрд░ рдкреНрд░рджрд╛рддрд╛ рдХреЛ Pomelo.EntityFrameworkCore.MySql рдмрджрд▓реЗрдВ рдФрд░ рдлрд┐рд░ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдпрд╛ рдЕрдкрдбреЗрдЯ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБред

рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╡реАрдПрд╕ рдиреЗ рдорд╛рдирд╛ рдХрд┐ рдЖрдк SQL рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрд╕рдиреЗ рдЖрдкрдХреА рдорджрдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдкрд╣рд▓реЗ рд╣реА CreateIdentitySchema рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд╛рдЗрдЧреНрд░реЗрд╢рди .\Data\Migrations\00000000000000_CreateIdentitySchema.cs ( Up рдпреБрдХреНрдд) рдЬреЛрдбрд╝ рджрд┐рдпрд╛ред Down рд╕рдВрдЪрд╛рд▓рди) рдФрд░ .\Data\Migrations\00000000000000_CreateIdentitySchema.Designer.cs (рдЕрддреНрдпрдзрд┐рдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдирд┐рд░реНрднрд░ рд▓рдХреНрд╖реНрдп рдореЙрдбрд▓ рдпреБрдХреНрдд), рдЬреЛ SQL рд╕рд░реНрд╡рд░ рдкреНрд░рджрд╛рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрддреНрдкрдиреНрди рдХрд┐рдП рдЧрдП рдереЗред

рдпрджрд┐ рдЖрдк SQL рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдХрджрдо рдХрдо рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рджрд╛рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдореЗрдВ рдЧрд▓рдд рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╣реЛрдЧрд╛ред

рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ MySQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ SQL рд╕рд░реНрд╡рд░ рдХрд╛ рднреА рдирд╣реАрдВ, рддреЛ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реИ рдХрд┐ UseMySql() рдХреЛ рдЖрдкрдХреЗ ConfigureServices рд╡рд┐рдзрд┐ рдореЗрдВ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ:

```рд╕реА#
рд╡рд┐рдХрд▓реНрдкред рдЙрдкрдпреЛрдЧ рдорд╛рдпрдПрд╕рдХреНрдпреВрдПрд▓ (
Configuration.GetConnectionString("DefaultConnection"));

Then delete the entire `Migrations` folder and just run something similar to the following command, to recreate the initial migration compatible with MySQL:

рдбреЙрдЯрдиреЗрдЯ рдПрдлрдИ рдорд╛рдЗрдЧреНрд░реЗрд╢рди CreateIdentitySchema рдЬреЛрдбрд╝реЗрдВ

After that, the newly created initial migration will be compatible with MySQL and other operations based on that migration will be as well.

For example, the `CREATE TABLE` script for `AspNetRoles` when creating a migration script (by using `dotnet ef migrations script`) will look like this:

```sql
CREATE TABLE `AspNetRoles` (
    `Id` varchar(255) NOT NULL,
    `Name` varchar(256) NULL,
    `NormalizedName` varchar(256) NULL,
    `ConcurrencyStamp` longtext NULL,
    CONSTRAINT `PK_AspNetRoles` PRIMARY KEY (`Id`)
);

рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрджрд┐ рдЖрдк рдПрдХ рдирдпрд╛ ASP.NET рдХреЛрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ (рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╡рд┐рдХрд▓реНрдк рд╕рдХреНрд╖рдо рдХреЗ рд╕рд╛рде), EF рдХреЛрд░ рдкреНрд░рджрд╛рддрд╛ рдХреЛ Pomelo.EntityFrameworkCore.MySql рдмрджрд▓реЗрдВ рдФрд░ рдлрд┐рд░ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдпрд╛ рдЕрдкрдбреЗрдЯ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБред

рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╡реАрдПрд╕ рдиреЗ рдорд╛рдирд╛ рдХрд┐ рдЖрдк SQL рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрд╕рдиреЗ рдЖрдкрдХреА рдорджрдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдкрд╣рд▓реЗ рд╣реА CreateIdentitySchema рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд╛рдЗрдЧреНрд░реЗрд╢рди .\Data\Migrations\00000000000000_CreateIdentitySchema.cs ( Up рдпреБрдХреНрдд) рдЬреЛрдбрд╝ рджрд┐рдпрд╛ред Down рд╕рдВрдЪрд╛рд▓рди) рдФрд░ .\Data\Migrations\00000000000000_CreateIdentitySchema.Designer.cs (рдЕрддреНрдпрдзрд┐рдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдирд┐рд░реНрднрд░ рд▓рдХреНрд╖реНрдп рдореЙрдбрд▓ рдпреБрдХреНрдд), рдЬреЛ SQL рд╕рд░реНрд╡рд░ рдкреНрд░рджрд╛рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрддреНрдкрдиреНрди рдХрд┐рдП рдЧрдП рдереЗред

Pomelo.EntityFrameworkCore.MySql рд╡рд░реНрдЬрди 2.2 рдореЗрдВ, рдпрд╣ CreateIdentitySchema рдХреЛ рдбрд┐рд▓реАрдЯ рдФрд░ рд░реАрдХреНрд░рд┐рдПрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ,

рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдПрдБ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЙрддреНрдкрдиреНрди

CREATE TABLE `aspnetroles` (
  `Id` varchar(255) NOT NULL,
  `Name` varchar(256) DEFAULT NULL,
  `NormalizedName` varchar(256) DEFAULT NULL,
  `ConcurrencyStamp` longtext,
  PRIMARY KEY (`Id`),
  UNIQUE KEY `RoleNameIndex` (`NormalizedName`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

рдмрд┐рдирд╛ рдХрд┐рд╕реА рддреНрд░реБрдЯрд┐ рдХреЗ,

рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ 3.0+ рдХреЛ рд╕рдВрдЧрддрддрд╛ рдФрд░ рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХреНрдпрд╛ рдЗрд╕ рдмрджрд▓рд╛рд╡ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рд╣реИ?

рдзрдиреНрдпрд╡рд╛рдж,

Pomelo.EntityFrameworkCore.MySql рд╡рд░реНрдЬрди 2.2 рдореЗрдВ, рдпрд╣ CreateIdentitySchema рдХреЛ рдбрд┐рд▓реАрдЯ рдФрд░ рд░реАрдХреНрд░рд┐рдПрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

рдпрджрд┐ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдкреЛрдореЗрд▓реЛ 2.2 рдореЗрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдмрджрд▓рд╛рд╡ рдХреЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди (рдФрд░ рдХреБрдВрдЬреА рдкреНрд░рдХрд╛рд░) рдкрд░ рдЕрддреНрдпрдзрд┐рдХ рдирд┐рд░реНрднрд░ рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдкрдХреЛ рдПрдХ рд╡реИрдз рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдФрд░ рдореЙрдбрд▓ рдкрд░рд┐рднрд╛рд╖рд╛ рдорд┐рд▓рддреА рд╣реИ, рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╕рдордп рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдкрдиреЗ рджрдо рдкрд░ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрдиреНрди рдХреЛрдб рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рд╕рд╛ рдЫреЗрдбрд╝рдЫрд╛рдбрд╝ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ (рдпрд╣ рдЖрдкрдХреЗ MySQL рдЬреНрдЮрд╛рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкреНрд░рдпрд╛рд╕ рдХреЗ рдмрд┐рдирд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред

3.0 рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдП рд╣реИрдВ (рдЬрд┐рдиреНрд╣реЗрдВ рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЯреИрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП), рдЗрд╕рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдмрдбрд╝реЗ рдпрд╛ рдЫреЛрдЯреЗ рдЕрдкрдЧреНрд░реЗрдб рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд▓реЗ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрдкрдиреЗ рд╡рд┐рдХрд╛рд╕ рдФрд░ рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдкрд╣рд▓реЗ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВред

рдмрд┐рдирд╛ рдХрд┐рд╕реА рддреНрд░реБрдЯрд┐ рдХреЗ,
[...]
рдХреНрдпрд╛ рдЗрд╕ рдмрджрд▓рд╛рд╡ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рд╣реИ?

3.0 рдореЗрдВ рдЖрдк рдХрд┐рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдареЛрд╕ рд░реВрдк рд╕реЗ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

2.2.6 рд╕реЗ 3.0.0 рддрдХ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдП рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдмреЗрдЭрд┐рдЭрдХ рд╣рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рдореЙрдбрд▓ рд╡рд░реНрдЧ, рдЗрд╕рдХреА рдкрд░рд┐рднрд╛рд╖рд╛, рдЙрддреНрдкрдиреНрди рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдФрд░ рдкрд░рд┐рдгрд╛рдореА SQL рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреЛрд╕реНрдЯ рдХрд░реЗрдВ, рддрд╛рдХрд┐ рд╣рдо рдЖрдкрдХреА рдХрд┐рд╕реА рднреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд╕рдХреЗрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

findmoon picture findmoon  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Toemsel picture Toemsel  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

neistow picture neistow  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

a641545621 picture a641545621  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

matthewjcooper picture matthewjcooper  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ