125 lines
6.6 KiB
JavaScript
125 lines
6.6 KiB
JavaScript
/**
|
|
* Default model settings
|
|
* (sails.config.models)
|
|
*
|
|
* Your default, project-wide model settings. Can also be overridden on a
|
|
* per-model basis by setting a top-level properties in the model definition.
|
|
*
|
|
* For details about all available model settings, see:
|
|
* https://sailsjs.com/config/models
|
|
*
|
|
* For more general background on Sails model settings, and how to configure
|
|
* them on a project-wide or per-model basis, see:
|
|
* https://sailsjs.com/docs/concepts/models-and-orm/model-settings
|
|
*/
|
|
|
|
module.exports.models = {
|
|
|
|
|
|
/***************************************************************************
|
|
* *
|
|
* Whether the `.create()` and `.update()` model methods should ignore *
|
|
* (and refuse to persist) unrecognized data-- i.e. properties other than *
|
|
* those explicitly defined by attributes in the model definition. *
|
|
* *
|
|
* To ease future maintenance of your code base, it is usually a good idea *
|
|
* to set this to `true`. *
|
|
* *
|
|
* > Note that `schema: false` is not supported by every database. *
|
|
* > For example, if you are using a SQL database, then relevant models *
|
|
* > are always effectively `schema: true`. And if no `schema` setting is *
|
|
* > provided whatsoever, the behavior is left up to the database adapter. *
|
|
* > *
|
|
* > For more info, see: *
|
|
* > https://sailsjs.com/docs/concepts/orm/model-settings#?schema *
|
|
* *
|
|
***************************************************************************/
|
|
|
|
// schema: true,
|
|
|
|
|
|
/***************************************************************************
|
|
* *
|
|
* How and whether Sails will attempt to automatically rebuild the *
|
|
* tables/collections/etc. in your schema. *
|
|
* *
|
|
* > Note that, when running in a production environment, this will be *
|
|
* > automatically set to `migrate: 'safe'`, no matter what you configure *
|
|
* > here. This is a failsafe to prevent Sails from accidentally running *
|
|
* > auto-migrations on your production database. *
|
|
* > *
|
|
* > For more info, see: *
|
|
* > https://sailsjs.com/docs/concepts/orm/model-settings#?migrate *
|
|
* *
|
|
***************************************************************************/
|
|
|
|
// migrate: 'alter',
|
|
|
|
|
|
/***************************************************************************
|
|
* *
|
|
* Base attributes that are included in all of your models by default. *
|
|
* By convention, this is your primary key attribute (`id`), as well as two *
|
|
* other timestamp attributes for tracking when records were last created *
|
|
* or updated. *
|
|
* *
|
|
* > For more info, see: *
|
|
* > https://sailsjs.com/docs/concepts/orm/model-settings#?attributes *
|
|
* *
|
|
***************************************************************************/
|
|
|
|
attributes: {
|
|
created_at: { type: 'number', autoCreatedAt: true },
|
|
updated_at: { type: 'number', autoUpdatedAt: true },
|
|
id: { type: 'number', autoIncrement: true }
|
|
// --------------------------------------------------------------------------
|
|
// /\ Using MongoDB?
|
|
// || Replace `id` above with this instead:
|
|
//
|
|
// ```
|
|
// id: { type: 'string', columnName: '_id' },
|
|
// ```
|
|
//
|
|
// Plus, don't forget to configure MongoDB as your default datastore:
|
|
// https://sailsjs.com/docs/tutorials/using-mongo-db
|
|
//--------------------------------------------------------------------------
|
|
},
|
|
|
|
|
|
/******************************************************************************
|
|
* *
|
|
* The set of DEKs (data encryption keys) for at-rest encryption. *
|
|
* i.e. when encrypting/decrypting data for attributes with `encrypt: true`. *
|
|
* *
|
|
* > The `default` DEK is used for all new encryptions, but multiple DEKs *
|
|
* > can be configured to allow for key rotation. In production, be sure to *
|
|
* > manage these keys like you would any other sensitive credential. *
|
|
* *
|
|
* > For more info, see: *
|
|
* > https://sailsjs.com/docs/concepts/orm/model-settings#?dataEncryptionKeys *
|
|
* *
|
|
******************************************************************************/
|
|
|
|
dataEncryptionKeys: {
|
|
default: 'nuF29j3StsGhRTut9dIrCxCNyYegcwH30FxnZ3kkdiA='
|
|
},
|
|
|
|
|
|
/***************************************************************************
|
|
* *
|
|
* Whether or not implicit records for associations should be cleaned up *
|
|
* automatically using the built-in polyfill. This is especially useful *
|
|
* during development with sails-disk. *
|
|
* *
|
|
* Depending on which databases you're using, you may want to disable this *
|
|
* polyfill in your production environment. *
|
|
* *
|
|
* (For production configuration, see `config/env/production.js`.) *
|
|
* *
|
|
***************************************************************************/
|
|
|
|
cascadeOnDestroy: true
|
|
|
|
|
|
};
|