【发布时间】:2020-08-09 17:19:22
【问题描述】:
我正在尝试创建一个 Rails 应用程序,该应用程序将连接到由 3rd 方软件使用的生产 SQLServer,因此迁移数据库不是一种选择。
我能够毫无问题地连接到 SQL 服务器(I used this guide for connecting to existing database 和 this one to connect rails to SQL Server),并且我可以查询使用 snake_case 名称的表。
我需要访问的表格在 CameCase 中,我无法重命名它,因为第 3 方软件将停止工作。
我已经实现了/config/environment.rb
ActiveRecord::Base.pluralize_table_names = false
删除复数。
例如:
UserTable.count
ActiveRecord 创建这个:*SELECT COUNT(*) FROM [user_table]*
我希望 ActiveRecord 创建这个:SELECT COUNT(*) FROM [UserTable]
我应该修改哪个文件来指定它应该使用的正确表名?
【问题讨论】:
-
你可以在
UserTable模型类中查看self.table_name = 'UserTable'而不必担心pluralize_table_names设置;然后使用alias_attribute处理列名。
标签: sql ruby-on-rails activerecord camelcasing snakecasing