Créer des tables dans un schema spécifique en ligne de commande
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.
Code:
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 ! |
Le fichier db.sql :
Code:
1 2
|
CREATE DATABASE mabase; |
Et le fichier db_table.sql:
Code:
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 :
Code:
1 2
|
psql -f "%cd%\schema.sql" mabase postgres |
Le fichier schema.sql:
Code:
1 2
|
CREATE SCHEMA mabase_schema; |
Maintenant le problème est de créer la table dans le nouveau schéma et non pas dans le schema public.
J'ai essayé avec la ligne :
Code:
1 2
|
psql -f "%cd%\db_table.sql" mabase_schema.mabase postgres |
Mais sans succès !
Comment pourrai-je définir le schéma dans mon fichier batch ?