sequelize-typescript-generator icon indicating copy to clipboard operation
sequelize-typescript-generator copied to clipboard

add support for postgres v9.4

Open dberardo-com opened this issue 2 years ago • 1 comments

here the current error i get when testing on 9.4

....

 original: error: relation "pg_sequence" does not exist

....
sql: 'SELECT\n' +
    '                CASE WHEN (seq.sequence_name IS NOT NULL) THEN TRUE ELSE FALSE END AS is_sequence,\n' +
    '                EXISTS( -- primary key\n' +
    '                   SELECT\n' +
    '                    x.indisprimary\n' +
    '                   FROM pg_attribute a\n' +
    '                    LEFT OUTER JOIN pg_index x\n' +
    '                        ON a.attnum = ANY (x.indkey) AND a.attrelid = x.indrelid\n' +
    `                    WHERE a.attrelid = 'public."groups"'::regclass AND a.attnum > 0\n` +
    '                        AND c.ordinal_position = a.attnum AND x.indisprimary IS TRUE\n' +
    '                ) AS is_primary,\n' +
    '                c.*,\n' +
    '                pgd.description\n' +
    '            FROM information_schema.columns c\n' +
    '            INNER JOIN pg_catalog.pg_statio_all_tables as st\n' +
    '                ON c.table_schema = st.schemaname AND c.table_name = st.relname\n' +
    '            LEFT OUTER JOIN pg_catalog.pg_description pgd\n' +
    '                ON pgd.objoid = st.relid AND pgd.objsubid = c.ordinal_position\n' +
    '            LEFT OUTER JOIN ( -- Sequences (auto increment) metadata\n' +
    '                SELECT seqclass.relname AS sequence_name,\n' +
    '                       pn.nspname       AS schema_name,\n' +
    '                       depclass.relname AS table_name,\n' +
    '                       attrib.attname   AS column_name\n' +
    '                FROM pg_class AS seqclass\n' +
    '                         JOIN pg_sequence AS seq\n' +
    '                              ON (seq.seqrelid = seqclass.relfilenode)\n' +
    '                         JOIN pg_depend AS dep\n' +
    '                              ON (seq.seqrelid = dep.objid)\n' +
    '                         JOIN pg_class AS depclass\n' +
    '                              ON (dep.refobjid = depclass.relfilenode)\n' +
    '                         JOIN pg_attribute AS attrib\n' +
    '                              ON (attrib.attnum = dep.refobjsubid AND attrib.attrelid = dep.refobjid)\n' +
    '                         JOIN pg_namespace pn\n' +
    '                              ON seqclass.relnamespace = pn.oid\n' +
    "                WHERE pn.nspname = 'public' AND depclass.relname = 'groups'\n" +
    '            ) seq\n' +
    '                 ON c.table_schema = seq.schema_name AND c.table_name = seq.table_name AND\n' +
    '                    c.column_name = seq.column_name\n' +
    "            WHERE c.table_schema = 'public' AND c.table_name = 'groups'\n" +
    '            ORDER BY c.ordinal_position;',

dberardo-com avatar Apr 27 '23 16:04 dberardo-com

as a workaround, i had to cretae an emtpy table:

create table pg_sequence(seqrelid int);

and now everything else works... is there any way to avoid this ?

dberardo-com avatar Apr 27 '23 16:04 dberardo-com