ORM modification and creation timestamps
npm install orm-timestampscreated_at and modified_at properties on models defined using the [node-orm2][node-orm2] module.
npm install orm-timestamps
`
Dependencies
You'll need [orm][node-orm2] to use this plugin, but other than that there are no external dependencies.
DBMS Support
Any driver supported by ORM is supported by this plugin.
Example
`javascript
var orm = require('orm'),
modts = require('orm-timestamps');
orm.connect("mysql://username:password@host/database", function(err, db) {
if(err) throw err;
db.use(modts, {
createdProperty: 'created_at',
modifiedProperty: 'modified_at',
expireProperty: false,
dbtype: { type: 'date', time: true },
now: function() { return new Date(); },
expire: function() { var d = new Date(); return d.setMinutes(d.getMinutes() + 60); },
persist: true
});
var user = db.define('user', {
username: String,
email: String,
password: String
}, {
id: 'username',
timestamp: true
});
var userDetails = db.define('user_details', {
username: String,
first_name: String,
last_name: String
}, {
id: 'username',
timestamp: {
createdProperty: false
}
});
});
`
Options
- createdProperty string|false
Determines the name of the property use to store the created timestamp (default "created_at"). If set to false, disables this property.
- modifiedProperty string|false
Determines the name of the property used to store the modified timestamp (default "modified_at"). If set to false, disables this property.
- expireProperty string|false
Determines the name of the property used to store the expiry timestamp for example "expires_at" (default false). If set to false, disables this property.
- dbtype object
Allows you to set the type of column used by the DB to allow for custom data types (default { type: 'date', time: true }).
- now function
Allows you to specify a custom function used to set the current time data for the database (default function() { return new Date(); }).
- expire function
Allows you to specify a custom function used to set the expiry time data for the database (default function() { var d = new Date(); d.setMinutes(d.getMinutes() + 60); return d; }).
- persist boolean
Used to prevent creation and modification timestamps from being stored in the database (default true`).