Bonjour !
J'ai un batch qui me permet de créer une base de donnée psql et de créer par la suite des tables.
Le fichier db.sql :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 psql -f "%cd%\db.sql" postgres echo la base de données a été créées ! pause psql -f "%cd%\db_table.sql" mabase postgres echo les tables ont étés créées !
Et le fichier db_table.sql:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 CREATE DATABASE mabase;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 create table myTable( idTable INT4 not null, nom VARCHAR(254) null, date DATE null, constraint PK_idTable primary key (idTable) );
Ce batch s'exécute très bien sans problème et créé la base de donnée ainsi que la table.
Mon problème est que la table est créée dans le schéma par défaut public. Ce que j'aimerais faire c'est de créer un schema d'abord, ça j'arrive à le faire avec une ligne de plus dans mon batch :
Le fichier schema.sql:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2psql -f "%cd%\schema.sql" mabase postgres
Maintenant le problème est de créer la table dans le nouveau schéma et non pas dans le schema public.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2CREATE SCHEMA mabase_schema;
J'ai essayé avec la ligne :
Mais sans succès !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2psql -f "%cd%\db_table.sql" mabase_schema.mabase postgres
Comment pourrai-je définir le schéma dans mon fichier batch ?
Partager