运行迁移时不支持的缓冲区类型

问题描述 投票:0回答:1

所以,我的问题是我无法在 Windows 11 上使用 MySQL 作为数据库在 Rust/Diesel 后端 Web 应用程序中成功运行迁移。

我尝试了两个不同的 MySQL lib/DLL 文件版本(8.3 和 8.0),并重新安装了 Diesel CLI。我还将 MySQL 社区服务器与 MariaDB 的 XAMPP 安装并排安装,两者都不起作用,但错误消息是相同的。

Rust 版本:

rustc 1.75.0 (82e1608df 2023-12-21)

MySQL 版本:

8.0.36 (MySQL Community Server)
(编辑:以前的 8.3.0)

运行

diesel setup
diesel migration run
时的实际错误消息如下:

Using unsupported buffer type: 253  (parameter: 1)

我的第一个迁移文件(

up.sql
)如下所示:

CREATE TABLE categories (
  id INTEGER PRIMARY KEY NOT NULL AUTO_INCREMENT,
  name TEXT NOT NULL,
);

这是我的

Cargo.toml

[package]
name = "budget"
version = "0.1.0"
edition = "2021"

[dependencies]
chrono = { version = "0.4.24", features = ["serde"] }
rocket = { version = "0.5.0", features = ["json"] }
diesel = { version = "2.1.0", features = ["mysql", "chrono"] }
diesel_migrations = "2.1.0"
dotenvy = "0.15"
rocket_db_pools = { version = "0.1.0", features = ["diesel_mysql"] }

我对 Rust 很陌生,即使有人能指出我正确的方向,我也会很感激。我目前不知道从哪里开始寻找根本问题。我可以根据需要提供更多信息。

rust mysql-connector rust-diesel rust-diesel-mysql
1个回答
0
投票

我设法解决了问题:

  • 我首先安装了MySQL 8.0.36(社区服务器)
  • 然后我将高级系统设置中的
    MYSQLCLIENT_LIB_DIR
    环境变量更改为指向
    C:\Program Files\MySQL\MySQL Server 8.0\lib
  • 然后我用
    diesel_cli
    --no-default-features
    标志重新安装了
    --features "mysql"

之后,运行

diesel setup
diesel migration run/redo/revert
就成功了。

© www.soinside.com 2019 - 2024. All rights reserved.