Pomelo.entityframeworkcore.mysql: 3.1.1版本生成的mysql脚本在8.0+的mysql版本可以正常运行,但是在32位版本的MySQL5.7.30上就失败了

创建于 2020-06-17  ·  4评论  ·  资料来源: PomeloFoundation/Pomelo.EntityFrameworkCore.MySql

3.1.1版本生成的mysql脚本在8.0+的mysql版本可以正常运行,但是在32位版本的MySQL5.7.30上就失败了

E:\install script\SensorBroker.Migrator>SensorBroker.Migrator.exe
2020-06-17 13:30:37 | Host database: server=127.0.0.1;port=3306;database=******;uid=*****;password=*****;pooling=True;connect timeout=10;default command timeout=60;sslmode=none;charset=utf8;allowpublickeyretrieval=True
2020-06-17 13:30:37 | Continue to migration for this host database and all tenants..? (Y/N): y
2020-06-17 13:30:40 | HOST database migration started...
2020-06-17 13:30:43 | An error occured during migration of host database:
2020-06-17 13:30:43 | MySql.Data.MySqlClient.MySqlException (0x80004005): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'COLUMN `VMCSerialPortId` TO `SerialPortId`' at line 1
 ---> MySql.Data.MySqlClient.MySqlException (0x80004005): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'COLUMN `VMCSerialPortId` TO SerialPortId`' at line 1
   at MySqlConnector.Core.ResultSet.ReadResultSetHeaderAsync(IOBehavior ioBehavior) in C:\projects\mysqlconnector\src\MySqlConnector\Core\ResultSet.cs:line 49
   at MySql.Data.MySqlClient.MySqlDataReader.ActivateResultSet() in C:\projects\mysqlconnector\src\MySqlConnector\MySql.Data.MySqlClient\MySqlDataReader.cs:line 125
   at MySql.Data.MySqlClient.MySqlDataReader.CreateAsync(CommandListPosition commandListPosition, ICommandPayloadCreator payloadCreator, IDictionary`2 cachedProcedures, IMySqlCommand command, CommandBehavior behavior, IOBehavior ioBehavior, CancellationToken cancellationToken) in C:\projects\mysqlconnector\src\MySqlConnector\MySql.Data.MySqlClient\MySqlDataReader.cs:line 390
   at MySqlConnector.Core.CommandExecutor.ExecuteReaderAsync(IReadOnlyList`1 commands, ICommandPayloadCreator payloadCreator, CommandBehavior behavior, IOBehavior ioBehavior, CancellationToken cancellationToken) in C:\projects\mysqlconnector\src\MySqlConnector\Core\CommandExecutor.cs:line 62
   at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQueryAsync(IOBehavior ioBehavior, CancellationToken cancellationToken) in C:\projects\mysqlconnector\src\MySqlConnector\MySql.Data.MySqlClient\MySqlCommand.cs:line 226
   at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery() in C:\projects\mysqlconnector\src\MySqlConnector\MySql.Data.MySqlClient\MySqlCommand.cs:line 74
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQuery(RelationalCommandParameterObject parameterObject)
   at Microsoft.EntityFrameworkCore.Migrations.MigrationCommand.ExecuteNonQuery(IRelationalConnection connection, IReadOnlyDictionary`2 parameterValues)
   at Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationCommandExecutor.ExecuteNonQuery(IEnumerable`1 migrationCommands, IRelationalConnection connection)
   at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(StringtargetMigration)
   at Pomelo.EntityFrameworkCore.MySql.Migrations.Internal.MySqlMigrator.Migrate(String targetMigration)
   at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.Migrate(DatabaseFacade databaseFacade)
   at Abp.Zero.EntityFrameworkCore.AbpZeroDbMigrator`1.CreateOrMigrate(AbpTenantBase tenant, Action`1 seedAction)
   at Abp.Zero.EntityFrameworkCore.AbpZeroDbMigrator`1.CreateOrMigrateForHost(Action`1 seedAction)
   at SensorBroker.Migrator.MultiTenantMigrateExecuter.Run(Boolean skipConnVerification)
2020-06-17 13:30:43 | Canceled migrations.

更多技术细节

MySQL 版本:5.7.30
操作系统:win7 x86
Pomelo.EntityFrameworkCore.MySql版本:3.1.1
Microsoft.AspNetCore.App版本:.netCore3.1

关于我的项目设置的其他详细信息:
Windows 7 x86机器上执行初始化数据库脚本时报错

type-question

最有用的评论

确保相应地设置ServerVersion() 。 看看我们的样本

Pomelo 3.x 使用较新 MySQL/MariaDB 版本的较新功能。 如果您没有明确指定服务器版本,则将采用最新版本(和 MySQL)。

所有4条评论

这是运行在Win10 x64机器上,没有任何异常,mysql数据库版本是8.0.16。

This is running on a Win10 x64 machine without any exceptions, and the mysql database version is 8.0.16.
2020-06-17 13:22:36 | Host database: server=127.0.0.1;port=3306;database=******;uid=*****;password=*****;pooling=True;connect timeout=10;default command timeout=60;sslmode=none;charset=utf8;allowpublickeyretrieval=True
2020-06-17 13:22:36 | Continue to migration for this host database and all tenants..? (Y/N): y
2020-06-17 13:22:40 | HOST database migration started...
2020-06-17 13:25:41 | HOST database migration completed.
2020-06-17 13:25:41 | --------------------------------------------------------
2020-06-17 13:25:41 | All databases have been migrated.
Press ENTER to exit...

早期的。 我用的是netCore2.2,对应的是Pomelo EntityFrameworkCore。 MySql版本2.2.6,测试没问题,现在。 NetCore2.2 升级到。 NetCore3.1,柚子。 实体框架核心。 2.2.6 MySql 版本升级到3.1.1,是错误的。

确保相应地设置ServerVersion() 。 看看我们的样本

Pomelo 3.x 使用较新 MySQL/MariaDB 版本的较新功能。 如果您没有明确指定服务器版本,则将采用最新版本(和 MySQL)。

确保相应地设置ServerVersion() 。 看看我们的样本

Pomelo 3.x 使用较新 MySQL/MariaDB 版本的较新功能。 如果您没有明确指定服务器版本,则将采用最新版本(和 MySQL)。

非常感谢您的帮助,以便快速解决问题。

此页面是否有帮助?
0 / 5 - 0 等级