Yii Framework Forum: Comment Récupérer Un Schéma Précis D'une Bdd Postgresql - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Comment Récupérer Un Schéma Précis D'une Bdd Postgresql Rate Topic: -----

#1 User is offline   tanebisse 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 11
  • Joined: 18-February 14
  • Location:France

  Posted 28 February 2014 - 03:38 AM

Bonjour,
La ligne suivante permet de récupérer dans un tableau les noms des tables d'une BDD pour le schéma "public" (ou par défaut) :
$tables = Yii::app()->getDb()->getSchema()->getTableNames();

Hors dans ma base PosgreSQL j'ai 2 schémas le "public" et un autre appelé "vgs".
Avec cette commande
Yii::app()->getDb()->getSchema()
je ne récupère que le schéma public. Quelle est la commande pour lui préciser le schéma souhaité "vgs".
0

#2 User is offline   RadicalDingos 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 35
  • Joined: 25-July 13

Posted 05 March 2014 - 12:32 PM

Salut !

A ma connaissance, il faut étendre la classe CDbConnection qui gère ta connexion à la base de données, de la manière suivante :
class MyDbConnection extends CDbConnection {
    protected function initConnection($pdo)
    {
        parent::initConnection($pdo);
        $stmt=$pdo->prepare("SET search_path TO ton_schema, public");
        $stmt->execute();
    }
}


Ensuite dans ton fichier de config :
'db'=>array(
    'class'=>'MyDbConnection',

0

#3 User is offline   tanebisse 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 11
  • Joined: 18-February 14
  • Location:France

Posted 11 March 2014 - 09:31 AM

J'ai enfin trouvé et c'est tout simple, il suffit de passer le nom du schéma en paramètre de la fonction getTableNames
$tables = Yii::app()->getDb()->getSchema()->getTableNames("mon_schema");
1

#4 User is offline   RadicalDingos 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 35
  • Joined: 25-July 13

Posted 11 March 2014 - 09:44 AM

Ah mince, j'avais mal compris la question, désolé :/
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users