sequelize-paper-trail
sequelize-paper-trail copied to clipboard
hasPaperTrail is not a function - sequelize ^5.0.0-beta.13
Hi,
in this version of Sequelize, apparently the _.extend(sequelize.Model)
has no effect.
I tried to fix it in several way without any success :(
Thanks for the heads up :) I'll check it out soon and see what I need to change to make it work, first need to work out a few bugs with the current library.
@matyaspeto ok I got it working in a test version, I'll create a branch for it later today and try to push a beta version by tomorrow.
@nielsgl I've been getting this error as well. I'm guessing that Sequelize v5 support wasn't included in 3.0.0-rc.6 (assuming this because of #74)?
@nielsgl
@matyaspeto ok I got it working in a test version, I'll create a branch for it later today and try to push a beta version by tomorrow.
Any updates when this branch might be available/ready? I've been tasked with migrating from Sequelize 4 to 5 because of https://github.com/sequelize/sequelize/issues/8468.
@jdgarvey @rjw209 Sorry I was traveling a lot the past weeks, I plan on getting it updated this weekend. I'll release the library v3 with support for Sequelize v4 and then probably the library as v4 with support for Sequelize v5.
I'm kind of confused. What does sequelize-paper-trail
v3 add to make it sequelize
v4 compatible? We've been using sequelize-paper-trail
v2.4.2 with sequelize
v4.43.2 for a while now without trouble. We're not power users, but this is news to me that it isn't v4 compatible.
Any progress on releasing v4?
@jdgarvey @rjw209 @Wolvan
Can you try it with 3.0.0-rc.7
, that should work with Sequelize v4.
Correction, should work with Sequelize v5 👍
@nielsgl Thanks for the update & clarification! I'm heads-down on another task at the moment, but will prioritize revisiting this as soon as I can carve out some time then will report back with any findings.
I'll be giving it a try on monday, thanks a lot though!
Alright, so tried it out: Two things I noticed immediately:
You must have left a test variable or something in the exports in /dist/helpers.js:112:3 (see here I think). Trying to run that errors out with ReferenceError: test is not defined
I also noticed that rc.7 depends on sequelize 4.x and installs that as a dependency (which it probably uses instead of the project's sequelize 5)
The .hasPaperTrail function on models unfortunately is still undefined. This is my code:
sqlize.import(resolve(__dirname, "./models", "Users.js"));
const PaperTrail = papertrail.init(sqlize, {
userModel: "Users",
debug: commander.debug
});
PaperTrail.defineModels();
let models = await fs.readdir(resolve(__dirname, "./models"));
models.forEach(model => {
log.debug("Importing Model '" + model + "'");
const mdl = sqlize.import(resolve(__dirname, "./models", model));
if (mdl.hasPaperTrail) mdl.Revisions = mdl.hasPaperTrail();
});
Breakpointing at Ln13 and using the debugger to verify hasPaperTrail's value gives me undefined
You must have left a test variable or something in the exports in /dist/helpers.js:112:3 (see here I think). Trying to run that errors out with ReferenceError: test is not defined
Ok fixed this 👍
I also noticed that rc.7 depends on sequelize 4.x and installs that as a dependency (which it probably uses instead of the project's sequelize 5)
Moved the dependency to dev dependencies so that should fix this.
I'll try tonight to quickly test it to get it working.
@Wolvan I think it's fixed now, at least the tests are passing with Sequelize v5. Released as 3.0.0-rc.8
Alright, mdl.hasPaperTrail is now defined and successfully defines a Revision prop on the models. Haven't looked deeper into it yet, but it looks promising enough!
Hi.
I had this problem with sequelize v5.9.4 and sequelize-paper-trail v2.6.1 then I tried use rc version of sequelize-paper-trail for my project and error hasPaperTrail is not a function
resolved! but new problems raised.
this is my first init options:
const paperTrail = PaperTrail.init(sequelize, { debug: true, userModel: 'user', exclude: [ 'createdAt', 'updatedAt' ], enableRevisionChangeModel: true, UUID: true, continuationKey: 'userId' })
when I tried to save a new user, user inserted to postgres but I gave this error in console:
sql: 'INSERT INTO "Revisions" ("model","document","operation","documentId","revision","id","createdAt","updatedAt") VALUES ($1,$2,$3,$4,$5,$6,$7,$8) RETURNING *;' }, sql: 'INSERT INTO "Revisions" ("model","document","operation","documentId","revision","id","createdAt","updatedAt") VALUES ($1,$2,$3,$4,$5,$6,$7,$8) RETURNING *;' } (node:6688) UnhandledPromiseRejectionWarning: SequelizeDatabaseError: invalid input syntax for type uuid: "1"
then I removed UUID: true
from init options and tried again, so I gave this:
Executing (default): INSERT INTO "Revisions" ("id","model","document","operation","documentId","revision","createdAt","updatedAt") VALUES (DEFAULT,$1,$2,$3,$4,$5,$6,$7) RETURNING *; Revision save error TypeError: Cannot read property 'diffChars' of undefined
what should I doing? is this a bug?
thanks a lot.
Hi. I had this problem with sequelize v5.9.4 and sequelize-paper-trail v2.6.1 then I tried use rc version of sequelize-paper-trail for my project and error
hasPaperTrail is not a function
resolved! but new problems raised. this is my first init options:const paperTrail = PaperTrail.init(sequelize, { debug: true, userModel: 'user', exclude: [ 'createdAt', 'updatedAt' ], enableRevisionChangeModel: true, UUID: true, continuationKey: 'userId' })
when I tried to save a new user, user inserted to postgres but I gave this error in console:
sql: 'INSERT INTO "Revisions" ("model","document","operation","documentId","revision","id","createdAt","updatedAt") VALUES ($1,$2,$3,$4,$5,$6,$7,$8) RETURNING *;' }, sql: 'INSERT INTO "Revisions" ("model","document","operation","documentId","revision","id","createdAt","updatedAt") VALUES ($1,$2,$3,$4,$5,$6,$7,$8) RETURNING *;' } (node:6688) UnhandledPromiseRejectionWarning: SequelizeDatabaseError: invalid input syntax for type uuid: "1"
then I removedUUID: true
from init options and tried again, so I gave this:Executing (default): INSERT INTO "Revisions" ("id","model","document","operation","documentId","revision","createdAt","updatedAt") VALUES (DEFAULT,$1,$2,$3,$4,$5,$6,$7) RETURNING *; Revision save error TypeError: Cannot read property 'diffChars' of undefined
what should I doing? is this a bug? thanks a lot.
try passing UUID: true,
in options