Saiho Yuen
2006-Jan-11 15:29 UTC
[Rails] Connection problem with a generic-runtime-built ActiveRecord::Base
Hi, I''m trying to create a "runtime-generic" ActiveRecord class, It means I don''t need to know the table or database, before I create my program ruby-rails. So I don''t need to predefine my database in environment.yml file and pre-build classes inherited from ActiveRecord::Base. I write some code, it seems to work. However, I can''t disconnect my connection via "remove_connection" of a postgresql database that I connected with "establish_connection" This is the generic class I wrote: class GenActRec < ActiveRecord::Base def self.connectToPSQLDB( hostName, portNum, dbName, user, pwd ) ActiveRecord::Base.establish_connection(:adapter => "postgresql", :host => hostName, :port => portNum, :database => dbName, :username => user, :password => pwd) end def self.closeConnection() return ActiveRecord::Base.remove_connection() end def self.buildNewTableClass(className, tableName) genClass = Class.new(GenActRec) const_set("#{className.to_s}", genClass) genClass.set_table_name tableName genClass.reset_column_information() return genClass end # read table Column names def readTableColumnNames return self.class.column_names() end end this how I use it: class GentestController < ApplicationController def index GenActRec.connectToPSQLDB("1.2.3.4", 5432, "gendb", "dbuser" ,"dbpwd" ) # test create genAClass GenActRec.buildNewTableClass("GenTableAs","gen_table_as") @name = genAClass.name obj1 = genAClass.new @col1 = obj1.class.column_names() @removedConnection = GenActRec.closeConnection() # should be an error @col2 = obj1.class.column_names() end end Basically, @col2 should be an error, because the connection should be closed, but I can still obtain results. it is the same result as @col1, it means the connection doesn''t close.... Someone know why? Thanks you very much , saiho __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
Possibly Parallel Threads
- How to disconnect to a database????
- Inconsistency in creating/opening/closing/destroying connections (PR#787)
- Inconsistency in creating/opening/closing/destroying (PR#788)
- Forking a process in Rails is messing up mongrel
- Helps!!!!! Rails database connection guru needed!!!!!!!