Quantcast
Channel: Active questions tagged config - Stack Overflow
Viewing all articles
Browse latest Browse all 5057

Pass a path to the "." source in a makefile

$
0
0

In a directory I have a config file with my db variables.

This file (db/database.ini) looks like this:

[PostgreSQL]
host=localhost
database=...
user=postgres 
password=...

I have another file (db/create_stmts.sql) where I have all my raw create table statements, and i am trying to experiment the use of a Makefile to have a command like this:

make create-db from_file=db/create_stmts.sql

In order not to repeat myself, I thought of tailing the variables of db/database.ini to a file which I would then source, creating shell variables to pass to psql in the make file.

Here's my plan:

make-db:

        # from_file: path to .sql file with all create statements to create the database where to insert
        # how to run: make create-db from_file={insert path to sql file}

        file_path=$(PWD)/file.sh
        tail -n4 db/database.ini  > file.sh && . $(file_path)

        # -U: --user
        # -d: --database
        # -q: --quiet
        # -f: --file
        psql -U $(user) -d $(database) -q -f $(from_file) && rm file.sh

Which I run by: make create-db from_file=db/create_stmts.sql

Which gives me this message - from which i kindof understand that the sourcing just did not work.

#from_file: path to .sql file with all create statements to create the database where to insert
# how to run: make create-db from_file={insert path to sql file}    
file_path=/home/gabriele/Desktop/TIUK/companies-house/file.sh
tail -n4 db/database.ini  > file.sh && .    
# -U: --user
# -d: --database
# -q: --quiet
# -f: --file
psql -U  -d  -q -f db/schema_tables.sql && rm file.sh
psql: FATAL:  Peer authentication failed for user "-d"
Makefile:3: recipe for target 'create-db' failed
make: *** [create-db] Error 2

Any help?


Viewing all articles
Browse latest Browse all 5057

Trending Articles