gpt4 book ai didi

ruby-on-rails - 在 Rails 中将数据库更改为 utf8

转载 作者:行者123 更新时间:2023-12-02 03:00:33 25 4
gpt4 key购买 nike

我正在尝试更改数据库以接受迁移文件中的 utf8_general_ci

class AlterTableToArabic < ActiveRecord::Migration[5.2]
def change
ALTER DATABASE noswazefa_backend_development CHARACTER SET utf8 COLLATE utf8_general_ci;
end
end

但是当我运行rake db:migrate时,控制台中出现此错误:

-- utf8_general_ci() rake aborted! StandardError: An error has occurred, all later migrations canceled: undefined local variable or method `utf8_general_ci' for # < AlterTableToArabic:0x000055e5b967b020 >

最佳答案

您不能将任意 SQL 粘贴到迁移中并期望 Ruby 能够处理它。它是用于编写 SQL 语句的 Ruby DSL - 不是进入数据库的神奇隧道。

class AlterTableToArabic < ActiveRecord::Migration[5.2]
def up
execute "ALTER DATABASE noswazefa_backend_development CHARACTER SET utf8 COLLATE utf8_general_ci;"
end
end

在这种情况下,您应该使用 def up 而不是 def change,因为这是不可逆的。

关于ruby-on-rails - 在 Rails 中将数据库更改为 utf8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60076312/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com