diff --git a/backend/src/main/java/ervu_secret/ervu_secret/db_beans/DefaultCatalog.java b/backend/src/main/java/ervu_secret/ervu_secret/db_beans/DefaultCatalog.java
new file mode 100644
index 0000000..dcc4e5a
--- /dev/null
+++ b/backend/src/main/java/ervu_secret/ervu_secret/db_beans/DefaultCatalog.java
@@ -0,0 +1,63 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_secret.ervu_secret.db_beans;
+
+
+import ervu_secret.ervu_secret.db_beans.information_schema.InformationSchema;
+import ervu_secret.ervu_secret.db_beans.pg_catalog.PgCatalog;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.jooq.Constants;
+import org.jooq.Schema;
+import org.jooq.impl.CatalogImpl;
+
+
+/**
+ * This class is generated by jOOQ.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class DefaultCatalog extends CatalogImpl {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * The reference instance of DEFAULT_CATALOG
+ */
+ public static final DefaultCatalog DEFAULT_CATALOG = new DefaultCatalog();
+
+ /**
+ * The schema information_schema.
+ */
+ public final InformationSchema INFORMATION_SCHEMA = InformationSchema.INFORMATION_SCHEMA;
+
+ /**
+ * The schema pg_catalog.
+ */
+ public final PgCatalog PG_CATALOG = PgCatalog.PG_CATALOG;
+
+ /**
+ * No further instances allowed
+ */
+ private DefaultCatalog() {
+ super("");
+ }
+
+ @Override
+ public final List getSchemas() {
+ return Arrays.asList(
+ InformationSchema.INFORMATION_SCHEMA,
+ PgCatalog.PG_CATALOG
+ );
+ }
+
+ /**
+ * A reference to the 3.19 minor release of the code generator. If this
+ * doesn't compile, it's because the runtime library uses an older minor
+ * release, namely: 3.19. You can turn off the generation of this reference
+ * by specifying /configuration/generator/generate/jooqVersionReference
+ */
+ private static final String REQUIRE_RUNTIME_JOOQ_VERSION = Constants.VERSION_3_19;
+}
diff --git a/backend/src/main/java/ervu_secret/ervu_secret/db_beans/information_schema/Domains.java b/backend/src/main/java/ervu_secret/ervu_secret/db_beans/information_schema/Domains.java
new file mode 100644
index 0000000..1f86a9e
--- /dev/null
+++ b/backend/src/main/java/ervu_secret/ervu_secret/db_beans/information_schema/Domains.java
@@ -0,0 +1,73 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_secret.ervu_secret.db_beans.information_schema;
+
+
+import java.sql.Timestamp;
+
+import org.jooq.Domain;
+import org.jooq.Schema;
+import org.jooq.impl.DSL;
+import org.jooq.impl.Internal;
+import org.jooq.impl.LazySchema;
+import org.jooq.impl.SQLDataType;
+
+
+/**
+ * Convenience access to all Domains in information_schema.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class Domains {
+
+ /**
+ * The domain information_schema.cardinal_number.
+ */
+ public static final Domain CARDINAL_NUMBER = Internal.createDomain(
+ schema()
+ , DSL.name("cardinal_number")
+ , SQLDataType.INTEGER
+ , Internal.createCheck(null, null, "CHECK ((VALUE >= 0))")
+ );
+
+ /**
+ * The domain information_schema.character_data.
+ */
+ public static final Domain CHARACTER_DATA = Internal.createDomain(
+ schema()
+ , DSL.name("character_data")
+ , SQLDataType.VARCHAR
+ );
+
+ /**
+ * The domain information_schema.sql_identifier.
+ */
+ public static final Domain SQL_IDENTIFIER = Internal.createDomain(
+ schema()
+ , DSL.name("sql_identifier")
+ , SQLDataType.VARCHAR
+ );
+
+ /**
+ * The domain information_schema.time_stamp.
+ */
+ public static final Domain TIME_STAMP = Internal.createDomain(
+ schema()
+ , DSL.name("time_stamp")
+ , SQLDataType.TIMESTAMP(0).defaultValue(DSL.field(DSL.raw("CURRENT_TIMESTAMP(2)"), SQLDataType.TIMESTAMP))
+ );
+
+ /**
+ * The domain information_schema.yes_or_no.
+ */
+ public static final Domain YES_OR_NO = Internal.createDomain(
+ schema()
+ , DSL.name("yes_or_no")
+ , SQLDataType.VARCHAR(3)
+ , Internal.createCheck(null, null, "CHECK (((VALUE)::text = ANY ((ARRAY['YES'::character varying, 'NO'::character varying])::text[])))")
+ );
+
+ private static final Schema schema() {
+ return new LazySchema(DSL.name("information_schema"), DSL.comment(""), () -> InformationSchema.INFORMATION_SCHEMA);
+ }
+}
diff --git a/backend/src/main/java/ervu_secret/ervu_secret/db_beans/information_schema/InformationSchema.java b/backend/src/main/java/ervu_secret/ervu_secret/db_beans/information_schema/InformationSchema.java
new file mode 100644
index 0000000..de51e5d
--- /dev/null
+++ b/backend/src/main/java/ervu_secret/ervu_secret/db_beans/information_schema/InformationSchema.java
@@ -0,0 +1,542 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_secret.ervu_secret.db_beans.information_schema;
+
+
+import ervu_secret.ervu_secret.db_beans.DefaultCatalog;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.AdministrableRoleAuthorizations;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.ApplicableRoles;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.Attributes;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.CharacterSets;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.CheckConstraintRoutineUsage;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.CheckConstraints;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.CollationCharacterSetApplicability;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.Collations;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.ColumnColumnUsage;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.ColumnDomainUsage;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.ColumnOptions;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.ColumnPrivileges;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.ColumnUdtUsage;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.Columns;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.ConstraintColumnUsage;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.ConstraintTableUsage;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.DataTypePrivileges;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.DomainConstraints;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.DomainUdtUsage;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.Domains;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.ElementTypes;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.EnabledRoles;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.ForeignDataWrapperOptions;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.ForeignDataWrappers;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.ForeignServerOptions;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.ForeignServers;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.ForeignTableOptions;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.ForeignTables;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.InformationSchemaCatalogName;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.KeyColumnUsage;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.Parameters;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.ReferentialConstraints;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.RoleColumnGrants;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.RoleRoutineGrants;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.RoleTableGrants;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.RoleUdtGrants;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.RoleUsageGrants;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.RoutineColumnUsage;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.RoutinePrivileges;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.RoutineRoutineUsage;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.RoutineSequenceUsage;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.RoutineTableUsage;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.Routines;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.Schemata;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.Sequences;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.SqlFeatures;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.SqlImplementationInfo;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.SqlSizing;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.TableConstraints;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.TablePrivileges;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.Tables;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.TriggeredUpdateColumns;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.Triggers;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.UdtPrivileges;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.UsagePrivileges;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.UserDefinedTypes;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.UserMappingOptions;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.UserMappings;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.ViewColumnUsage;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.ViewRoutineUsage;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.ViewTableUsage;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.Views;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables._PgExpandarray;
+import ervu_secret.ervu_secret.db_beans.information_schema.tables.records._PgExpandarrayRecord;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.jooq.Catalog;
+import org.jooq.Configuration;
+import org.jooq.Domain;
+import org.jooq.Field;
+import org.jooq.Result;
+import org.jooq.Table;
+import org.jooq.impl.SchemaImpl;
+
+
+/**
+ * This class is generated by jOOQ.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class InformationSchema extends SchemaImpl {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * The reference instance of information_schema
+ */
+ public static final InformationSchema INFORMATION_SCHEMA = new InformationSchema();
+
+ /**
+ * The table information_schema._pg_expandarray.
+ */
+ public final _PgExpandarray _PG_EXPANDARRAY = _PgExpandarray._PG_EXPANDARRAY;
+
+ /**
+ * Call information_schema._pg_expandarray.
+ */
+ public static Result<_PgExpandarrayRecord> _PG_EXPANDARRAY(
+ Configuration configuration
+ , Object[] __1
+ ) {
+ return configuration.dsl().selectFrom(ervu_secret.ervu_secret.db_beans.information_schema.tables._PgExpandarray._PG_EXPANDARRAY.call(
+ __1
+ )).fetch();
+ }
+
+ /**
+ * Get information_schema._pg_expandarray as a table.
+ */
+ public static _PgExpandarray _PG_EXPANDARRAY(
+ Object[] __1
+ ) {
+ return ervu_secret.ervu_secret.db_beans.information_schema.tables._PgExpandarray._PG_EXPANDARRAY.call(
+ __1
+ );
+ }
+
+ /**
+ * Get information_schema._pg_expandarray as a table.
+ */
+ public static _PgExpandarray _PG_EXPANDARRAY(
+ Field