Not in scope: type constructor or class
geofflangenderfer opened this issue · comments
Geoff Langenderfer commented
I get this error when creating a controller from http://localhost:8001/Generators
pretty confusing because I don't make any other change beyond clicking "Generate"
~/
devenv-shell-env ❯ ihp-new --version
ihp-new version: 1.3.0
~/
devenv-shell-env ❯ ghc --version
The Glorious Glasgow Haskell Compilation System, version 9.4.4
~/
devenv-shell-env ❯
17:38:16 devServer.1 | AsyncCancelled
17:38:16 devServer.1 | [ 7 of 21] Compiling Web.Types ( Web/Types.hs, interpreted ) [Source file changed]
17:38:16 devServer.1 |
17:38:16 devServer.1 | Web/Types.hs:15:59: error:
17:38:16 devServer.1 | Not in scope: type constructor or class ‘HardwareVendor’
17:38:16 devServer.1 | |
17:38:16 devServer.1 | 15 | | ShowHardwareVendorAction { hardwareVendorId :: !(Id HardwareVendor) }
17:38:16 devServer.1 | | ^^^^^^^^^^^^^^
17:38:16 devServer.1 |
17:38:16 devServer.1 | Web/Types.hs:17:59: error:
17:38:16 devServer.1 | Not in scope: type constructor or class ‘HardwareVendor’
17:38:16 devServer.1 | |
17:38:16 devServer.1 | 17 | | EditHardwareVendorAction { hardwareVendorId :: !(Id HardwareVendor) }
17:38:16 devServer.1 | | ^^^^^^^^^^^^^^
17:38:16 devServer.1 |
17:38:16 devServer.1 | Web/Types.hs:18:61: error:
17:38:16 devServer.1 | Not in scope: type constructor or class ‘HardwareVendor’
17:38:16 devServer.1 | |
17:38:16 devServer.1 | 18 | | UpdateHardwareVendorAction { hardwareVendorId :: !(Id HardwareVendor) }
17:38:16 devServer.1 | | ^^^^^^^^^^^^^^
17:38:16 devServer.1 |
17:38:16 devServer.1 | Web/Types.hs:19:61: error:
17:38:16 devServer.1 | Not in scope: type constructor or class ‘HardwareVendor’
17:38:16 devServer.1 | |
17:38:16 devServer.1 | 19 | | DeleteHardwareVendorAction { hardwareVendorId :: !(Id HardwareVendor) }
17:38:16 devServer.1 | | ^^^^^^^^^^^^^^
17:38:16 devServer.1 | Failed, six modules loaded.
17:38:16 devServer.1 | [ 7 of 21] Compiling Web.Types ( Web/Types.hs, interpreted )
17:38:16 devServer.1 |
17:38:16 devServer.1 | Web/Types.hs:15:59: error:
17:38:16 devServer.1 | Not in scope: type constructor or class ‘HardwareVendor’
17:38:16 devServer.1 | |
17:38:16 devServer.1 | 15 | | ShowHardwareVendorAction { hardwareVendorId :: !(Id HardwareVendor) }
17:38:16 devServer.1 | | ^^^^^^^^^^^^^^
17:38:16 devServer.1 |
17:38:16 devServer.1 | Web/Types.hs:17:59: error:
17:38:16 devServer.1 | Not in scope: type constructor or class ‘HardwareVendor’
17:38:16 devServer.1 | |
17:38:16 devServer.1 | 17 | | EditHardwareVendorAction { hardwareVendorId :: !(Id HardwareVendor) }
17:38:16 devServer.1 | | ^^^^^^^^^^^^^^
17:38:16 devServer.1 |
17:38:16 devServer.1 | Web/Types.hs:18:61: error:
17:38:16 devServer.1 | Not in scope: type constructor or class ‘HardwareVendor’
17:38:16 devServer.1 | |
17:38:16 devServer.1 | 18 | | UpdateHardwareVendorAction { hardwareVendorId :: !(Id HardwareVendor) }
17:38:16 devServer.1 | | ^^^^^^^^^^^^^^
17:38:16 devServer.1 |
17:38:16 devServer.1 | Web/Types.hs:19:61: error:
17:38:16 devServer.1 | Not in scope: type constructor or class ‘HardwareVendor’
17:38:16 devServer.1 | |
17:38:16 devServer.1 | 19 | | DeleteHardwareVendorAction { hardwareVendorId :: !(Id HardwareVendor) }
17:38:16 devServer.1 | | ^^^^^^^^^^^^^^
17:38:16 devServer.1 | Failed, six modules loaded.
17:38:16 devServer.1 | [ 7 of 21] Compiling Web.Types ( Web/Types.hs, interpreted )
17:38:16 devServer.1 |
17:38:16 devServer.1 | Web/Types.hs:15:59: error:
17:38:16 devServer.1 | Not in scope: type constructor or class ‘HardwareVendor’
17:38:16 devServer.1 | |
17:38:16 devServer.1 | 15 | | ShowHardwareVendorAction { hardwareVendorId :: !(Id HardwareVendor) }
17:38:16 devServer.1 | | ^^^^^^^^^^^^^^
17:38:16 devServer.1 |
17:38:16 devServer.1 | Web/Types.hs:17:59: error:
17:38:16 devServer.1 | Not in scope: type constructor or class ‘HardwareVendor’
17:38:16 devServer.1 | |
17:38:16 devServer.1 | 17 | | EditHardwareVendorAction { hardwareVendorId :: !(Id HardwareVendor) }
17:38:16 devServer.1 | | ^^^^^^^^^^^^^^
17:38:16 devServer.1 |
17:38:16 devServer.1 | Web/Types.hs:18:61: error:
17:38:16 devServer.1 | Not in scope: type constructor or class ‘HardwareVendor’
17:38:16 devServer.1 | |
17:38:16 devServer.1 | 18 | | UpdateHardwareVendorAction { hardwareVendorId :: !(Id HardwareVendor) }
17:38:16 devServer.1 | | ^^^^^^^^^^^^^^
17:38:16 devServer.1 |
17:38:16 devServer.1 | Web/Types.hs:19:61: error:
17:38:16 devServer.1 | Not in scope: type constructor or class ‘HardwareVendor’
17:38:16 devServer.1 | |
17:38:16 devServer.1 | 19 | | DeleteHardwareVendorAction { hardwareVendorId :: !(Id HardwareVendor) }
17:38:16 devServer.1 | | ^^^^^^^^^^^^^^
17:38:16 devServer.1 | Failed, six modules loaded.
17:38:16 devServer.1 | [ 7 of 21] Compiling Web.Types ( Web/Types.hs, interpreted )
17:38:16 devServer.1 |
17:38:16 devServer.1 | Web/Types.hs:15:59: error:
17:38:16 devServer.1 | Not in scope: type constructor or class ‘HardwareVendor’
17:38:16 devServer.1 | |
17:38:16 devServer.1 | 15 | | ShowHardwareVendorAction { hardwareVendorId :: !(Id HardwareVendor) }
17:38:16 devServer.1 | | ^^^^^^^^^^^^^^
17:38:16 devServer.1 |
17:38:16 devServer.1 | Web/Types.hs:17:59: error:
17:38:16 devServer.1 | Not in scope: type constructor or class ‘HardwareVendor’
17:38:16 devServer.1 | |
17:38:16 devServer.1 | 17 | | EditHardwareVendorAction { hardwareVendorId :: !(Id HardwareVendor) }
17:38:16 devServer.1 | | ^^^^^^^^^^^^^^
17:38:16 devServer.1 |
17:38:16 devServer.1 | Web/Types.hs:18:61: error:
17:38:16 devServer.1 | Not in scope: type constructor or class ‘HardwareVendor’
17:38:17 devServer.1 | |
17:38:17 devServer.1 | 18 | | UpdateHardwareVendorAction { hardwareVendorId :: !(Id HardwareVendor) }
17:38:17 devServer.1 | | ^^^^^^^^^^^^^^
17:38:17 devServer.1 |
17:38:17 devServer.1 | Web/Types.hs:19:61: error:
17:38:17 devServer.1 | Not in scope: type constructor or class ‘HardwareVendor’
17:38:17 devServer.1 | |
17:38:17 devServer.1 | 19 | | DeleteHardwareVendorAction { hardwareVendorId :: !(Id HardwareVendor) }
17:38:17 devServer.1 | | ^^^^^^^^^^^^^^
17:38:17 devServer.1 | Failed, six modules loaded.
17:38:17 devServer.1 | [ 7 of 21] Compiling Web.Types ( Web/Types.hs, interpreted )
17:38:17 devServer.1 |
17:38:17 devServer.1 | Web/Types.hs:15:59: error:
17:38:17 devServer.1 | Not in scope: type constructor or class ‘HardwareVendor’
17:38:17 devServer.1 | |
17:38:17 devServer.1 | 15 | | ShowHardwareVendorAction { hardwareVendorId :: !(Id HardwareVendor) }
17:38:17 devServer.1 | | ^^^^^^^^^^^^^^
17:38:17 devServer.1 |
17:38:17 devServer.1 | Web/Types.hs:17:59: error:
17:38:17 devServer.1 | Not in scope: type constructor or class ‘HardwareVendor’
17:38:17 devServer.1 | |
17:38:17 devServer.1 | 17 | | EditHardwareVendorAction { hardwareVendorId :: !(Id HardwareVendor) }
17:38:17 devServer.1 | | ^^^^^^^^^^^^^^
17:38:17 devServer.1 |
17:38:17 devServer.1 | Web/Types.hs:18:61: error:
17:38:17 devServer.1 | Not in scope: type constructor or class ‘HardwareVendor’
17:38:17 devServer.1 | |
17:38:17 devServer.1 | 18 | | UpdateHardwareVendorAction { hardwareVendorId :: !(Id HardwareVendor) }
17:38:17 devServer.1 | | ^^^^^^^^^^^^^^
17:38:17 devServer.1 |
17:38:17 devServer.1 | Web/Types.hs:19:61: error:
17:38:17 devServer.1 | Not in scope: type constructor or class ‘HardwareVendor’
17:38:17 devServer.1 | |
17:38:17 devServer.1 | 19 | | DeleteHardwareVendorAction { hardwareVendorId :: !(Id HardwareVendor) }
17:38:17 devServer.1 | | ^^^^^^^^^^^^^^
17:38:17 devServer.1 | Failed, six modules loaded.
17:38:17 devServer.1 | [ 7 of 21] Compiling Web.Types ( Web/Types.hs, interpreted )
17:38:17 devServer.1 |
17:38:17 devServer.1 | Web/Types.hs:15:59: error:
17:38:17 devServer.1 | Not in scope: type constructor or class ‘HardwareVendor’
17:38:17 devServer.1 | |
17:38:17 devServer.1 | 15 | | ShowHardwareVendorAction { hardwareVendorId :: !(Id HardwareVendor) }
17:38:17 devServer.1 | | ^^^^^^^^^^^^^^
17:38:17 devServer.1 |
17:38:17 devServer.1 | Web/Types.hs:17:59: error:
17:38:17 devServer.1 | Not in scope: type constructor or class ‘HardwareVendor’
17:38:17 devServer.1 | |
17:38:17 devServer.1 | 17 | | EditHardwareVendorAction { hardwareVendorId :: !(Id HardwareVendor) }
17:38:17 devServer.1 | | ^^^^^^^^^^^^^^
17:38:17 devServer.1 |
17:38:17 devServer.1 | Web/Types.hs:18:61: error:
17:38:17 devServer.1 | Not in scope: type constructor or class ‘HardwareVendor’
17:38:17 devServer.1 | |
17:38:17 devServer.1 | 18 | | UpdateHardwareVendorAction { hardwareVendorId :: !(Id HardwareVendor) }
17:38:17 devServer.1 | | ^^^^^^^^^^^^^^
17:38:17 devServer.1 |
17:38:17 devServer.1 | Web/Types.hs:19:61: error:
17:38:17 devServer.1 | Not in scope: type constructor or class ‘HardwareVendor’
17:38:17 devServer.1 | |
17:38:17 devServer.1 | 19 | | DeleteHardwareVendorAction { hardwareVendorId :: !(Id HardwareVendor) }
17:38:17 devServer.1 | | ^^^^^^^^^^^^^^
17:38:17 devServer.1 | Failed, six modules loaded.
17:38:17 devServer.1 | [ 7 of 21] Compiling Web.Types ( Web/Types.hs, interpreted )
17:38:17 devServer.1 |
17:38:17 devServer.1 | Web/Types.hs:15:59: error:
17:38:17 devServer.1 | Not in scope: type constructor or class ‘HardwareVendor’
17:38:17 devServer.1 | |
17:38:17 devServer.1 | 15 | | ShowHardwareVendorAction { hardwareVendorId :: !(Id HardwareVendor) }
17:38:17 devServer.1 | | ^^^^^^^^^^^^^^
17:38:17 devServer.1 |
17:38:17 devServer.1 | Web/Types.hs:17:59: error:
17:38:17 devServer.1 | Not in scope: type constructor or class ‘HardwareVendor’
17:38:17 devServer.1 | |
17:38:17 devServer.1 | 17 | | EditHardwareVendorAction { hardwareVendorId :: !(Id HardwareVendor) }
17:38:17 devServer.1 | | ^^^^^^^^^^^^^^
17:38:17 devServer.1 |
17:38:17 devServer.1 | Web/Types.hs:18:61: error:
17:38:17 devServer.1 | Not in scope: type constructor or class ‘HardwareVendor’
17:38:17 devServer.1 | |
17:38:17 devServer.1 | 18 | | UpdateHardwareVendorAction { hardwareVendorId :: !(Id HardwareVendor) }
17:38:17 devServer.1 | | ^^^^^^^^^^^^^^
17:38:17 devServer.1 |
17:38:17 devServer.1 | Web/Types.hs:19:61: error:
17:38:17 devServer.1 | Not in scope: type constructor or class ‘HardwareVendor’
17:38:17 devServer.1 | |
17:38:17 devServer.1 | 19 | | DeleteHardwareVendorAction { hardwareVendorId :: !(Id HardwareVendor) }
17:38:17 devServer.1 | | ^^^^^^^^^^^^^^
17:38:17 devServer.1 | Failed, six modules loaded.
Geoff Langenderfer commented
I didn't create the HardwareVendor table. The error resolved after creating it:
diff --git a/Application/Schema.sql b/Application/Schema.sql
index b743c66..5c22cff 100644
--- a/Application/Schema.sql
+++ b/Application/Schema.sql
@@ -1 +1,4 @@
-- Your database schema. Use the Schema Designer at http://localhost:8001/ to add some tables.
+CREATE TABLE hardwarevendors (
+ id UUID DEFAULT uuid_generate_v4() PRIMARY KEY NOT NULL
+);