36 lines
1.2 KiB
Bash
36 lines
1.2 KiB
Bash
|
#!/bin/bash -e
|
||
|
COLOR_ORANGE="\e[38;5;208m"
|
||
|
COLOR_GREEN="\e[38;5;35m"
|
||
|
COLOR_RED="\e[0;31m"
|
||
|
COLOR_NULL="\e[0m"
|
||
|
|
||
|
print_help() {
|
||
|
echo -e "${COLOR_ORANGE}HOW TO RUN:${COLOR_NULL} $0 input_file_path output_file_path"
|
||
|
exit 1
|
||
|
}
|
||
|
|
||
|
if [ "$#" -ne 2 ]; then
|
||
|
print_help
|
||
|
fi
|
||
|
INPUT="$1"
|
||
|
OUTPUT="$2"
|
||
|
if [ ! -f "$INPUT" ]; then
|
||
|
echo -e "${COLOR_RED}ERROR:${COLOR_NULL} input_file_path is not a file!"
|
||
|
print_help
|
||
|
fi
|
||
|
|
||
|
echo -e "${COLOR_ORANGE}NOTE:${COLOR_NULL} BEGIN and COMMIT are required because variables share the same name (e.g. row)"
|
||
|
echo -e "${COLOR_ORANGE}NOTE:${COLOR_NULL} CONSTRAINTS are just skipped -> ${COLOR_RED}please create consraints manually if needed${COLOR_NULL}"
|
||
|
|
||
|
sed -e 's/^:begin/BEGIN/g; s/^BEGIN$/BEGIN;/g;' \
|
||
|
-e 's/^:commit/COMMIT/g; s/^COMMIT$/COMMIT;/g;' \
|
||
|
-e '/^CALL/d; /^SCHEMA AWAIT/d;' \
|
||
|
-e 's/CREATE RANGE INDEX FOR (n:/CREATE INDEX ON :/g;' \
|
||
|
-e 's/) ON (n./(/g;' \
|
||
|
-e '/^CREATE CONSTRAINT/d; /^DROP CONSTRAINT/d;' "$INPUT" > "$OUTPUT"
|
||
|
|
||
|
echo ""
|
||
|
echo -e "${COLOR_GREEN}DONE!${COLOR_NULL} Please find Memgraph compatible cypherl|.cypher file under $OUTPUT"
|
||
|
echo ""
|
||
|
echo "Please import data by executing => \`cat $OUTPUT | mgconsole\`"
|