blob: ae07799dfa1381295752c1af90ec89ea4e6a7ff6 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
exports.up = function(knex) {
return Promise.all([
knex.schema.dropTableIfExists('referrals'),
knex.schema.createTable('referrals', function(t) {
t.increments('id').unsigned().primary();
t.integer('user_id').nullable();
t.foreign('user_id').references('users.id');
t.integer('sponsor_id').notNull();
t.foreign('sponsor_id').references('users.id');
t.string('token').notNull();
t.string('expiry').nullable();
t.enum('status', ['available', 'used', 'expired', 'cancelled']).notNull().defaultTo('available');
t.timestamps(true, true);
})
])
};
exports.down = function(knex) {
return knex.schema.dropTable('referrals');
};
|