Я работаю над учебником / книгой по кодированию под названием Curious Moon. Одним из назначений является нормализация и загрузка данных из файла CSV, помещенного в таблицу Postgres. Имя базы данных - "enceladus", а имя таблицы - "master_plan". Мне сказали использовать make
, чтобы сделать это. Я не могу понять, как запустить Makefile в PowerShell.
Я установил GNUWin32 с make.exe
на свой ноутбук с Windows, работающий под управлением Windows 10. Я использовал PowerShell для запуска make.exe
. Я сделал это, запустив notepad $profile
и сохранив New-Item alias:make -Value 'C:\Program Files (x86)\GnuWin32\bin\make.exe'
в файле. Я дал ему новый псевдоним, потому что я получал сообщение об ошибке. Теперь, когда я называю псевдоним так:
PS C:\Users\Sabrina> make
Я получаю эту ошибку:
make: *** Не указаны цели и не найден make-файл. Стоп.
Я написал Makefile в sublime и сохранил его как расширение make-файла. Он находится в той же папке «C: \ Program Files (x86) \ GnuWin32 \ bin», что и make.exe
, и называется Makefile. Я попытался запустить его как
PS C:\Users\Sabrina> make -f Makefile
и тогда я получаю ошибку
make: Makefile: нет такого файла или каталога
Я не уверен, как открыть и запустить make-файл.
Это мой код в Makefile:
DB=enceladus
BUILD=${CURDIR}/build.sql
SCRIPTS=${CURDIR}/scripts
CSV='${CURDIR}/data/master_plan.csv'
MASTER=$(SCRIPTS)/import.sql
NORMALIZE = $(SCRIPTS)/normalize.sql
all: normalize
psql $(DB) -f $(BUILD)
master:
@cat $(MASTER) >> $(BUILD)
import: master
@echo "COPY import.master_plan FROM $(CSV) WITH DELIMITER ',' HEADER CSV;" >> $(BUILD)
normalize: import
@cat $(NORMALIZE) >> $(BUILD)
clean:
@rm -rf $(BUILD)