Sequelize Migration to create Postgres Function
if you need to make some sql function, you can use something like this.
const query = `CREATE OR REPLACE FUNCTION "public"."last_day"(date)
RETURNS "pg_catalog"."date" AS $BODY$
SELECT (date_trunc('MONTH', $1) + INTERVAL '1 MONTH - 1 day')::DATE;
$BODY$
LANGUAGE sql IMMUTABLE STRICT
COST 100
`;
module.exports = {
up: (queryInterface, Sequelize) => queryInterface.sequelize.query(query),
down: (queryInterface, Sequelize) =>
queryInterface.sequelize.query('DROP FUNCTION "public"."last_day"(date)'),
};
make sure to include argument data type on drop function.
references: