diff --git a/PgCodeGen.scala b/PgCodeGen.scala index 8dc2df1..9f2a694 100644 --- a/PgCodeGen.scala +++ b/PgCodeGen.scala @@ -245,7 +245,7 @@ class PgCodeGen private ( def run(): Future[List[File]] = for - _ <- Future { + _ <- Future.fromTry { if debug then println("Running migrations...") Zone: diff --git a/test.sh b/test.sh index 3a5787d..1a5b5a3 100755 --- a/test.sh +++ b/test.sh @@ -90,3 +90,17 @@ docker run --rm --name codegentest -e POSTGRES_PASSWORD=postgres -p 5555:5432 -d -force=true && echo "✅ Code generation for provided connection ok.") || (docker rm -f codegentest; exit 1) docker rm -f codegentest + +echo "⏳Process should fail on running invalid sql" +if $CODEGEN_BIN \ + -use-docker-image=postgres:17-alpine \ + -output-dir=test-generated \ + -pkg-name=generated \ + -exclude-tables=unsupported_yet \ + -source-dir=test/migrations_invalid \ + -force=true; then + echo "❌ Process did not fail as expected" + exit 1 +else + echo "✅ Process failed as expected" +fi \ No newline at end of file diff --git a/test/migrations_invalid/V1__test.sql b/test/migrations_invalid/V1__test.sql new file mode 100644 index 0000000..fea8d12 --- /dev/null +++ b/test/migrations_invalid/V1__test.sql @@ -0,0 +1 @@ +syntax error; \ No newline at end of file