我正处于学习 Ruby 的早期阶段。我真的不知道如何使用 ruby 上充满表格和数据的现有数据库。我拥有或在 Internet 上找到的每份指南、每篇文章总是使用迁移功能创建新的。
但是在 RoR 上使用 SQL Server 中的现有数据库的步骤是什么?
最佳答案
你很幸运, friend 。我的第一个 Rails 项目(7 年前)是针对一个可怕的 SQL Server 数据库设置的。
根据上述内容,您需要适本地设置 database.yml。但是对于现有的数据库来说,表名和列名显然不太可能符合 Rails 约定。好消息是您可以覆盖所有这些默认值。以下是这些指令的非详尽列表:
在从 AR::Base 派生的模型中,
set_table_name 'actual_table_name'
set_primary_key 'actual_primary_key_name'
在各种关联指令(has_one、has_many、belongs_to)上,有 :foreign_key 键可让您指定外键的名称。
现在,MS SQL Server 允许您做的一件很糟糕的事情是您可以在列名中嵌入空格。不用担心,您仍然可以使用 write_attribute("badly named column") 和 read_attribute("badly named column") 按名称引用这些列。您也可以在各种指令中引用它们,如下所示:
validates_length_of "传真号码", :maximum => 17, :allow_nil => true
最后,您可以像这样引用这些名称不当的列生成的隐含方法:
self.send('传真号码=', new_fax_number)
显然,您不能将它们称为符号,因为 Ruby 符号中不允许使用空格。
祝你好运,下次我希望你能使用真正的 RDBMS,比如 Informix :)。
关于ruby-on-rails - 使用现有的 SQL Server 数据库和 Ruby on Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15262877/