gpt4 book ai didi

ruby-on-rails - 在 Rails/ActiveRecord 3 中,如何更改 MySQL 的默认主键类型?

转载 作者:数据小太阳 更新时间:2023-10-29 07:38:40 25 4
gpt4 key购买 nike

在 Rails 3 中,如何将默认主键类型更改为 BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY

就我而言,我只对 MySQL 感兴趣。

对于 Rails 2,您可以查看“如何在 Rails 中使用长 ID?”的答案。 1

然而,在 Rails 3 中,这会引发错误。我不确定那是因为该类不再使用,还是代码需要放在同一个地方。您可以在 active_record/connection_adapters/mysql_adapter.rb 中看到 NATIVE_DATABASE_TYPES 常量仍然被定义。

在 Rails 3 中实现相同效果的正确方法是什么?

最佳答案

问题是连接适配器现在是在所有初始化程序运行后延迟加载的。

尝试显式要求您正在修补的代码模块:

require 'active_record/connection_adapters/mysql_adapter'
ActiveRecord::ConnectionAdapters::MysqlAdapter::NATIVE_DATABASE_TYPES[:primary_key] =
"BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY".freeze

我不知道将它添加到 config/environment.rb 是否仍然有效。我还是将它添加到 config/application.rb 中,因为它看起来更合适。

关于ruby-on-rails - 在 Rails/ActiveRecord 3 中,如何更改 MySQL 的默认主键类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3097368/

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