This plugin adds the ability to keep track of created_at and modified_at properties on models defined using the node-orm2 module.
npm install orm-timestamps You'll need orm to use this plugin, but other than that there are no external dependencies.
Any driver supported by ORM is supported by this plugin.
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 } }); });createdPropertystring|false Determines the name of the property use to store the created timestamp (default"created_at"). If set tofalse, disables this property.modifiedPropertystring|false Determines the name of the property used to store the modified timestamp (default"modified_at"). If set tofalse, disables this property.expirePropertystring|false Determines the name of the property used to store the expiry timestamp for example"expires_at"(defaultfalse). If set tofalse, disables this property.dbtypeobject Allows you to set the type of column used by the DB to allow for custom data types (default{ type: 'date', time: true }).nowfunction Allows you to specify a custom function used to set the current time data for the database (defaultfunction() { return new Date(); }).expirefunction Allows you to specify a custom function used to set the expiry time data for the database (defaultfunction() { var d = new Date(); d.setMinutes(d.getMinutes() + 60); return d; }).persistboolean Used to prevent creation and modification timestamps from being stored in the database (defaulttrue).
- Easy to add creation, modification and expiration date/time information to your models
- Highly customizable
- Supports existing beforeCreate/beforeSave hooks through the use of a robust wrapper function
- Allows values to be stored "in-memory" if usage scenarios don't require them to be stored in the database.
- Allows custom options to be set on a per-table basis if needed
