我们希望为 Azure MySQL 数据库的自动数据库架构迁移设置 CI/CD
但是,我们在生成迁移脚本时遇到了问题。
如果你能看到下面是我们生成的迁移脚本。
START TRANSACTION;
IF NOT EXISTS(SELECT * FROM `__EFMigrationsHistory` WHERE `MigrationId` = '20210625071551_v1')
BEGIN
CREATE TABLE `activitytype` (
`Id` int(11) NOT NULL,
`Name` varchar(50) NOT NULL,
`ShortName` varchar(20) NULL,
PRIMARY KEY (`Id`)
);
END ;
COMMIT;
我们为自动生成迁移脚本设置了构建管道。在发布管道中,我们使用上面附加的迁移脚本文件在 Azure MySQL DB 上部署更改,但它给了我们一个错误。
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'IF NOT EXISTS(SELECT * FROM __EFMigrationsHistory
WHERE MigrationId
= '20210' 附近使用正确的语法
2021-06-28T10:04:09.2150434Z ##[错误]错误:进程'C:\mysql-5.7.21-winx64\bin\mysql.exe'失败,退出代码为1
我们在构建管道中使用的命令:
dotnet ef migrations script -o $(build.artifactstagingdirectory)\Migrations\migrationscript_cli.sql -i
有没有办法生成可以在 MySQL 上成功运行的脚本?