2

I am trying to create a website using Symfony and PostgreSQL. I cant find any documentation that shows how to do this. All the documentation assumes the backend db is mySQL.

Anyone knows how to do this?

morpheous
  • 16,270
  • 32
  • 89
  • 120

3 Answers3

2

If you are using Doctrine, just use a dsn for pgSQL in your databases.yml, like this :

pgsql:dbname=testdb;host=127.0.0.1

It use the PDO syntax. Check the Doctrine documentation and PDO documentation.

DuoSRX
  • 4,179
  • 3
  • 26
  • 32
0

Symfony uses 3rd-parties ORMs for DB communication which provide abstraction layer over RDBMS specific architecture. Basically everything you have to do is to change Doctrine's/Propel's driver name, so in /config/databaes.yml set pgsql instead of mysql and you're done.

Crozin
  • 43,890
  • 13
  • 88
  • 135
0

The full answer (took me about an hour to figure this out) is:

  1. Modify database.yml as described here (see under Propel or Doctrine)
  2. (assuming you're using the Propel ORM like I am) Modify propel.ini as shown below (undocumented AFAIK)

Look for a section in your propel.ini names ;mysql options

comment the mysql options out - otherwise the generated SQL is a mix of postgresql and mysql - which confuses the hell out of psql.

morpheous
  • 16,270
  • 32
  • 89
  • 120