1

我正在尝试创建一个 Rails 应用程序,该应用程序将连接到由 3rd 方软件使用的生产 SQLServer,因此迁移数据库不是一种选择。

我能够毫无问题地连接到 SQL 服务器(我使用本指南连接到现有数据库,并且使用本指南将 Rails 连接到 SQL Server),并且我可以查询使用蛇形名称的表。

我需要访问的表在 CameCase 中,我无法重命名它,因为第 3 方软件将停止工作。

我已经实现了/config/environment.rb

ActiveRecord::Base.pluralize_table_names = false 去除复数。

例如:

UserTable.count

ActiveRecord 创建这个:*SELECT COUNT(*) FROM [user_table]*

我希望 ActiveRecord 创建这个:SELECT COUNT(*) FROM [UserTable]

我应该修改哪个文件来指定它应该使用的正确表名?

4

1 回答 1

2

我认为根据您的基本规范,rails 没有任何支持。Rails 相信约定优于配置。

虽然我们可以覆盖模型中的表名。

用户表.rb

class UserTable < ApplicationRecord

  self.table_name = "UserTable"
  self.primary_key = "YourPrimaryKey"

end
于 2020-08-09T18:21:25.003 回答