2019-11-05 18:01:42 +05:00
|
|
|
module.exports.up = (knex) => knex.schema
|
|
|
|
.createTable('user', (table) => {
|
|
|
|
/* Columns */
|
2019-08-31 04:07:25 +05:00
|
|
|
|
2019-11-05 18:01:42 +05:00
|
|
|
table
|
|
|
|
.bigInteger('id')
|
|
|
|
.primary()
|
|
|
|
.defaultTo(knex.raw('next_id()'));
|
2019-08-31 04:07:25 +05:00
|
|
|
|
2019-11-05 18:01:42 +05:00
|
|
|
table.text('email').notNullable();
|
|
|
|
table.text('password').notNullable();
|
|
|
|
table.boolean('is_admin').notNullable();
|
|
|
|
table.text('name').notNullable();
|
|
|
|
table.text('avatar');
|
2019-08-31 04:07:25 +05:00
|
|
|
|
2019-11-05 18:01:42 +05:00
|
|
|
table.timestamp('created_at', true);
|
|
|
|
table.timestamp('updated_at', true);
|
|
|
|
table.timestamp('deleted_at', true);
|
|
|
|
})
|
|
|
|
.raw(
|
|
|
|
'ALTER TABLE "user" ADD CONSTRAINT "user_email_unique" EXCLUDE ("email" WITH =) WHERE ("deleted_at" IS NULL)',
|
|
|
|
);
|
2019-08-31 04:07:25 +05:00
|
|
|
|
2019-11-05 18:01:42 +05:00
|
|
|
module.exports.down = (knex) => knex.schema.dropTable('user');
|