I am using knex js and postgresql database. I have used a migration file to create a table knex migrate:make create_car_table. In this I have added a column fuel_ty
Alter column does not work for enum types in knex 0.13.0.
Also enums are implemented as check constraints, so to change it you need to recreate the.
Something like this:
exports.up = function(knex, Promise) {
return knex.schema.raw(`
ALTER TABLE "car"
DROP CONSTRAINT "car_fuel_type_check",
ADD CONSTRAINT "car_fuel_type_check"
CHECK (fuel_type IN ('HYBRID', 'ELECTRIC', 'PETROL', 'DIESEL'))
`);
};
exports.down = function(knex, Promise) { ... };
You might need to check your constraint name that was originally generated by knex from the DB.
Currently knex.schema.raw is the only way to modify enums.