我的数据库是postgreSQL。我已将参数设置如下:
parameters:
database_driver: pdo_pgsql
database_host: 127.0.0.1
database_port: null
database_name: sandbox
database_user: postgres
database_password: postgres
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: null
mailer_password: null
locale: en
secret: ThisTokenIsNotSoSecretChangeIt
问题是我不知道如何查询PostgreSQL
中的现有表格。我对MySQL
没有问题,但在PostgreSQL
我实际上并不知道该怎么做。
编辑:
# app/config/parameters.yml
parameters:
database_driver: pdo_mysql
database_host: localhost
database_name: test_project
database_user: root
database_password: password
然后我创建实体来处理我的数据。
EDIT2:
已经在postgreSQL中创建了表。连接部分完成。我成功完成了它。我现在要做的是基于现有表创建实体。我认为现在情况要清楚得多,没有人处于黑暗的一面。 ; - )
答案 0 :(得分:1)
Postgresql和MySQL的设置非常相似。您需要在Symfony2 php文件之外进行更改才能使用Postgresql和PHP。在php.ini文件中,确保为pgsql启用扩展。这需要启用,以便您可以使用database_driver pdo_pgsql
Php.ini文件/etc/php5/apache2/php.ini,添加:
extension=pdo.so
extension=php_pdo_pgsql.so
在此之后,测试您是否可以连接到现有数据库或创建新数据库。根据您的具体情况使用架构创建或验证,并发布您收到的任何错误。
答案 1 :(得分:1)
我使用postgres编写了几个symfony应用程序,尽管有doctrine dbal而不是orm。我的parameters.yml通常是这样的:
database_driver: pdo_pgsql
database_host: localhost
database_port: 5432
database_name: my_db_name
database_user: my_user
database_password: my_password
由于您说您可以连接到数据库,因此请为表创建实体 例如:
<?php
/*
*@Entity
*@Table(name="my_schema_name.my_table_name")
*/
class Message
{
/** @Column(type="integer") */
private $id;
/** @Column(length=140) */
private $text;
/** @Column(type="datetime", name="posted_at") */
private $postedAt;
}
注意表名上的注释。指定架构和表。 之后,尝试使用dql查询该表中的所有记录。