sequelize.define('Count', { value: DataTypes.INTEGER, updated_at: DataTypes.DATE }, { underscored: true, tableName: 'counts', classMethods: { findTheOne: function *() { var data = yield Count.findOrCreate({ where: ['id > ?', 0], defaults: { value: 0 } }); return data[0]; } } })
static init ({ db }) { super.init({ // attributes content: { type: Sequelize.TEXT, defaultValue: '', trim: true }, slideId: { type: Sequelize.INTEGER, field: 'slide_id' }, visible: { type: Sequelize.BOOLEAN, defaultValue: true }, sequence: { type: Sequelize.INTEGER, defaultValue: 0, trim: true }, // timestamp createdAt: { type: Sequelize.DATE, field: 'created_at' }, updatedAt: { type: Sequelize.DATE, field: 'updated_at' }, deletedAt: { type: Sequelize.DATE, field: 'deleted_at' } }, { // configuration modelName: 'Page', sequelize: db, timestamps: true, paranoid: true, // updatedAt: false, // underscored: true, freezeTableName: true, tableName: 'pages' }) return this }
const getDB = async () => { const Op = SQL.Op; const operatorsAliases = { $in: Op.in, }; const db = new SQL('', '', '', { dialect: 'sqlite', storage: './db.sqlite', operatorsAliases, logging: false, }); const users = db.define('user', { id: { type: SQL.INTEGER, primaryKey: true, autoIncrement: true, }, name: SQL.STRING, createdAt: SQL.DATE, updatedAt: SQL.DATE, }); return { users }; }