我在开发环境和生产环境中托管了一个数据库。我正在编写一个基于请求中的参数的API将写入开发或生产数据库中的表。我已将这两个条目放在database.yml
文件中:
development:
adapter: mysql2
database: db1
username: root
password:
timeout: 5000
host: a.b.c.d
pool: 5
port: 1234
production:
adapter: mysql2
database: db1
username: root
password:
timeout: 5000
host: a.b.c.e
pool: 5
port: 1234
这是我的活跃记录:
class table1 < ActiveRecord::Base
self.table_name = 'table1'
end
如何根据请求参数写入不同的环境?
答案 0 :(得分:3)
选择这个。 [ActiveRecord Firebird Adapter] [1]
[1]:https://github.com/rowland/activerecord-fb-adapter我使用它将我的本地rails应用程序与其他生产服务器数据库连接,不要忘记添加可帮助您通过rails app访问数据库的模型。 goodluck,希望它有所帮助。
答案 1 :(得分:2)
您可以为同一个表使用两个模型,一个连接到生产数据库,另一个连接到开发数据库。
假设您的连接参数位于变量$production
和$development
。
您还必须调整代码以了解要使用的模型。
class Table1 < ActiveRecord::Base
establish_connection($production)
self.table_name = 'table1'
end
class Table1test < ActiveRecord::Base
establish_connection($development)
self.table_name = 'table1'
end
答案 2 :(得分:1)
对于我的应用程序,我使用这个宝石
https://github.com/thiagopradi/octopus
有很好的文档和示例。
如果您使用establish_connection
,则会遇到连接问题。