@amnet/server
Version:
A tweaked version of pubsweet-server for use by Coko's projects
33 lines (30 loc) • 1.01 kB
JavaScript
/* eslint-disable no-console */
const logger = require('@pubsweet/logger')
exports.up = async knex => {
try {
return knex.schema.createTable('files', table => {
table.uuid('id').primary()
table
.timestamp('created')
.notNullable()
.defaultTo(knex.fn.now())
.defaultTo(knex.raw("CURRENT_TIMESTAMP AT TIME ZONE 'UTC'"))
table
.timestamp('updated')
.defaultTo(knex.raw("CURRENT_TIMESTAMP AT TIME ZONE 'UTC'"))
table.text('type').notNullable()
table.text('name').notNullable()
table.jsonb('storedObjects').notNullable()
table.jsonb('tags').defaultTo([])
table.uuid('referenceId').nullable()
table.uuid('objectId').nullable()
table.text('alt').nullable()
table.text('uploadStatus').nullable()
table.text('caption').nullable()
})
} catch (e) {
logger.error('File: Initial: Migration failed!')
throw new Error(e)
}
}
exports.down = async knex => knex.schema.dropTable('files')