2010-06-26 154 views
1

我的Rails应用程序。使用mysql数据库,我需要生成.sqlite3.databases。是否有可能使用activerecord和rails模型? 我们现在正在尝试使用由Remote :: module命名空间的模型,但通过这种方式,我们无法启动并发生成器。Rails - 生成.sqlite3-数据库

回答

4

在遥控模型,你想用#establish_connection连接到一个单独的数据库:

# config/database.yml 
remote_development: 
    adapter: sqlite3 
    database: db/development.sqlite3 

remote_production: 
    adapter: sqlite3 
    database: /usr/local/remote/myapp.sqlite3 


# app/models/remote_model.rb 
class RemoteModel < ActiveRecord::Base 
    establish_connection "remote_#{Rails.env}" 
    self.abstract_class = true 
end 


# app/models/remote_user.rb 
class RemoteUser < RemoteModel 
end 

注意abstract_class二传手:这意味着有问题的类没有基础表:它用于仅用于配置。

+0

我需要创建不同的sqlite数据库。生成过程可能是并发的。我需要动态数据库名称... – 2010-07-02 23:02:11

+2

establish_connection也接受Hash,因此您可以说“RemoteModel.send(:establish_connection,:adapter =>”sqlite3“,:database => Rails.root +”tmp /#{Time。 to_i} .sqlite3" ) – 2010-07-05 14:24:02