如何将现有的MS SQL数据库用于新的Ruby on Rails项目?

时间:2015-08-01 19:10:44

标签: ruby-on-rails ruby sql-server ruby-on-rails-4

我目前正在学习使用Ruby on Rails编写代码,但我已经在早期的QA工作中使用过这个框架。此时我已经了解了ActiveRecord的一些内容,使用rake db:migrate等执行迁移。我还管理了如何为Microsoft SQL Server安装适配器并运行一些rake任务,如rake testrake db:migrate (db:create不能与当前适配器一起使用,但那是另一个故事)我已经知道MS SQL Server与RoR不兼容,但我们已经在生产中使用了我们使用的RDBMS。

我是否应该忽略迁移文件,并且不执行rake db:migrate或生产中的任何内容?什么是最好的方法?

1 个答案:

答案 0 :(得分:2)

我们运行一种带有rails的遗留数据库。一些东西是通过SQL添加的,其他东西是通过迁移添加的。基本上,你的问题的答案是,你甚至可以运行迁移等以便后续的数据库维护。但是要开始,你只需要在给定模型时告诉rails在哪里寻找表。

来自Active Record Basics: 4 Overriding the Naming Conventions

  

如果您需要遵循不同的命名约定或需要将Rails应用程序与遗留数据库一起使用,该怎么办?没问题,您可以轻松覆盖默认约定。

     

您可以使用class Product < ActiveRecord::Base self.table_name = "my_products" end 方法指定应使用的表名:

ActiveRecord::Base.primary_key= method

...

  

还可以使用class Product < ActiveRecord::Base self.primary_key = "product_id" end 覆盖应该用作表主键的列:

{{1}}