Jacob Thomason
Jacob Thomason

Reputation: 3431

Set the default propel connection for entire php process

Propel 1.6 and Symfony 1.4

I'm looking for a way to programmatically set the default propel connection for the length of an entire php process. The issue is that I'm using an alternative db for testing purposes and I have a good deal of code that doesn't pass the PropelPDO object currently.

Can this be done? Any tips? Thanks.

Upvotes: 1

Views: 742

Answers (2)

halfer
halfer

Reputation: 20467

So, the solution to this was to use the following, pretty clean and sweet:

//override the "default" "propel" dsn and set it to our testing db!
\Propel::setConnection(
    "propel",
    Propel::getConnection(SqliteSetup::$databaseName)
);

Upvotes: 1

Vlad Jula-Nedelcu
Vlad Jula-Nedelcu

Reputation: 1696

Why not use environments in your databases.yml?

dev:
  propel:
    class:        sfPropelDatabase
    param:
      classname:  DebugPDO
    etc, etc


stage:
  propel:
    class:        sfPropelDatabase
    param:
      classname:  PropelPDO
  etc, etc


prod:
  propel:
    class:        sfPropelDatabase
    param:
      classname:  PropelPDO
  etc, etc

Upvotes: 1

Related Questions