diff --git a/database/migrations/1618757695309_links.ts b/database/migrations/1634841204979_links.ts old mode 100755 new mode 100644 similarity index 60% rename from database/migrations/1618757695309_links.ts rename to database/migrations/1634841204979_links.ts index 5f6db70..93526c3 --- a/database/migrations/1618757695309_links.ts +++ b/database/migrations/1634841204979_links.ts @@ -5,10 +5,16 @@ export default class Links extends BaseSchema { public async up () { this.schema.createTable(this.tableName, (table) => { - table.increments('id') + table.increments('id').primary() table.string('code').notNullable() table.string('target').notNullable() - table.integer('visit_count').defaultTo(0) + table.string('type').defaultTo('PERMANENT') + table.timestamp('expire').defaultTo(this.now()) + table + .integer('author_id') + .unsigned() + .references('users.id') + .onDelete('CASCADE') table.timestamps(true) }) } diff --git a/database/migrations/1634841251307_clicks.ts b/database/migrations/1634841251307_clicks.ts new file mode 100644 index 0000000..75ba474 --- /dev/null +++ b/database/migrations/1634841251307_clicks.ts @@ -0,0 +1,23 @@ +import BaseSchema from '@ioc:Adonis/Lucid/Schema' + +export default class Clicks extends BaseSchema { + protected tableName = 'clicks' + + public async up () { + this.schema.createTable(this.tableName, (table) => { + table.increments('id').primary() + table + .integer('link_id') + .unsigned() + .references('links.id') + .onDelete('CASCADE') + table.string('country') + table.string('ip') + table.timestamp('date').defaultTo(this.now()) + }) + } + + public async down () { + this.schema.dropTable(this.tableName) + } +}