When it comes to setting up PostgreSQL so that I can run the code, it would be really nice if there were some instructions, e.g. like these in doobie, or maybe even a script.
[info] running com.wegtam.books.pfhais.impure.Impure
2022-12-04 18:08:13,862 WARN Database - Flyway upgrade recommended: PostgreSQL 15.1 is newer than this version of Flyway and support has not been tested. The latest supported version of PostgreSQL is 12.
[error] (run-main-0) org.flywaydb.core.internal.sqlscript.FlywaySqlScriptException:
[error] Migration failed
[error] -----------------
[error] SQL State : 42501
[error] Error Code : 0
[error] Message : ERROR: permission denied for schema public
[error] Position: 14
[error] Location : ()
[error] Line : 1
[error] Statement : CREATE TABLE "public"."flyway_schema_history" (
[error] "installed_rank" INT NOT NULL,
[error] "version" VARCHAR(50),
[error] "description" VARCHAR(200) NOT NULL,
[error] "type" VARCHAR(20) NOT NULL,
[error] "script" VARCHAR(1000) NOT NULL,
[error] "checksum" INTEGER,
[error] "installed_by" VARCHAR(100) NOT NULL,
[error] "installed_on" TIMESTAMP NOT NULL DEFAULT now(),
[error] "execution_time" INTEGER NOT NULL,
[error] "success" BOOLEAN NOT NULL
[error] )
[error] org.flywaydb.core.internal.sqlscript.FlywaySqlScriptException:
[error] Migration failed
[error] -----------------
[error] SQL State : 42501
[error] Error Code : 0
[error] Message : ERROR: permission denied for schema public
[error] Position: 14
[error] Location : ()
[error] Line : 1
[error] Statement : CREATE TABLE "public"."flyway_schema_history" (
[error] "installed_rank" INT NOT NULL,
[error] "version" VARCHAR(50),
[error] "description" VARCHAR(200) NOT NULL,
[error] "type" VARCHAR(20) NOT NULL,
[error] "script" VARCHAR(1000) NOT NULL,
[error] "checksum" INTEGER,
[error] "installed_by" VARCHAR(100) NOT NULL,
[error] "installed_on" TIMESTAMP NOT NULL DEFAULT now(),
[error] "execution_time" INTEGER NOT NULL,
[error] "success" BOOLEAN NOT NULL
[error] )
[error]
[error] at org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor.handleException(DefaultSqlScriptExecutor.java:274)
[error] at org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor.executeStatement(DefaultSqlScriptExecutor.java:220)
[error] at org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor.execute(DefaultSqlScriptExecutor.java:127)
[error] at org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory$1$1.call(JdbcTableSchemaHistory.java:113)
[error] at org.flywaydb.core.internal.jdbc.TransactionTemplate.execute(TransactionTemplate.java:74)
[error] at org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory$1.call(JdbcTableSchemaHistory.java:106)
[error] at org.flywaydb.core.internal.database.postgresql.PostgreSQLAdvisoryLockTemplate.execute(PostgreSQLAdvisoryLockTemplate.java:71)
[error] at org.flywaydb.core.internal.database.postgresql.PostgreSQLConnection.lock(PostgreSQLConnection.java:94)
[error] at org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory.create(JdbcTableSchemaHistory.java:97)
[error] at org.flywaydb.core.Flyway$1.execute(Flyway.java:184)
[error] at org.flywaydb.core.Flyway$1.execute(Flyway.java:149)
[error] at org.flywaydb.core.Flyway.execute(Flyway.java:511)
[error] at org.flywaydb.core.Flyway.migrate(Flyway.java:149)
[error] at com.wegtam.books.pfhais.impure.Impure$.main(Impure.scala:48)
[error] at com.wegtam.books.pfhais.impure.Impure.main(Impure.scala)
[error] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[error] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[error] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[error] at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[error] Caused by: org.postgresql.util.PSQLException: ERROR: permission denied for schema public
[error] Position: 14
[error] at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2497)
[error] at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2233)
[error] at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:310)
[error] at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:446)
[error] at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:370)
[error] at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:311)
[error] at org.postgresql.jdbc.PgStatement.executeCachedSql(PgStatement.java:297)
[error] at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:274)
[error] at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:269)
[error] at org.flywaydb.core.internal.jdbc.JdbcTemplate.executeStatement(JdbcTemplate.java:244)
[error] at org.flywaydb.core.internal.sqlscript.ParsedSqlStatement.execute(ParsedSqlStatement.java:111)
[error] at org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor.executeStatement(DefaultSqlScriptExecutor.java:208)
[error] at org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor.execute(DefaultSqlScriptExecutor.java:127)
[error] at org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory$1$1.call(JdbcTableSchemaHistory.java:113)
[error] at org.flywaydb.core.internal.jdbc.TransactionTemplate.execute(TransactionTemplate.java:74)
[error] at org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory$1.call(JdbcTableSchemaHistory.java:106)
[error] at org.flywaydb.core.internal.database.postgresql.PostgreSQLAdvisoryLockTemplate.execute(PostgreSQLAdvisoryLockTemplate.java:71)
[error] at org.flywaydb.core.internal.database.postgresql.PostgreSQLConnection.lock(PostgreSQLConnection.java:94)
[error] at org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory.create(JdbcTableSchemaHistory.java:97)
[error] at org.flywaydb.core.Flyway$1.execute(Flyway.java:184)
[error] at org.flywaydb.core.Flyway$1.execute(Flyway.java:149)
[error] at org.flywaydb.core.Flyway.execute(Flyway.java:511)
[error] at org.flywaydb.core.Flyway.migrate(Flyway.java:149)
[error] at com.wegtam.books.pfhais.impure.Impure$.main(Impure.scala:48)
[error] at com.wegtam.books.pfhais.impure.Impure.main(Impure.scala)
[error] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[error] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[error] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[error] at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[error] stack trace is suppressed; run last Compile / bgRun for the full output
I tried a few quick fixes that didn't work and so it would be really nice if setting up the db were a complete piece of cake. Do you happen to have some commands handy that will do that?