mirror of
https://github.com/ArthurDanjou/artdanj-api.git
synced 2026-01-23 16:30:27 +01:00
17
database/migrations/1603020084373_subscribers.ts
Normal file
17
database/migrations/1603020084373_subscribers.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
import BaseSchema from '@ioc:Adonis/Lucid/Schema'
|
||||
|
||||
export default class Subscribers extends BaseSchema {
|
||||
protected tableName = 'subscribers'
|
||||
|
||||
public async up () {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('id').primary()
|
||||
table.string('email').notNullable()
|
||||
table.timestamps(true, true)
|
||||
})
|
||||
}
|
||||
|
||||
public async down () {
|
||||
this.schema.dropTable(this.tableName)
|
||||
}
|
||||
}
|
||||
18
database/migrations/1605956543449_files.ts
Normal file
18
database/migrations/1605956543449_files.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import BaseSchema from '@ioc:Adonis/Lucid/Schema'
|
||||
|
||||
export default class Pictures extends BaseSchema {
|
||||
protected tableName = 'files'
|
||||
|
||||
public async up () {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('id').primary()
|
||||
table.string('label').notNullable()
|
||||
table.string('file_name').notNullable()
|
||||
table.timestamps(true, true)
|
||||
})
|
||||
}
|
||||
|
||||
public async down () {
|
||||
this.schema.dropTable(this.tableName)
|
||||
}
|
||||
}
|
||||
18
database/migrations/1605956711010_posts.ts
Normal file
18
database/migrations/1605956711010_posts.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import BaseSchema from '@ioc:Adonis/Lucid/Schema'
|
||||
|
||||
export default class Posts extends BaseSchema {
|
||||
protected tableName = 'posts'
|
||||
|
||||
public async up () {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('id').primary()
|
||||
table.string('slug').notNullable()
|
||||
table.integer('likes').notNullable()
|
||||
table.timestamps(true, true)
|
||||
})
|
||||
}
|
||||
|
||||
public async down () {
|
||||
this.schema.dropTable(this.tableName)
|
||||
}
|
||||
}
|
||||
19
database/migrations/1608409476823_locations.ts
Normal file
19
database/migrations/1608409476823_locations.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
import BaseSchema from '@ioc:Adonis/Lucid/Schema'
|
||||
|
||||
export default class Locations extends BaseSchema {
|
||||
protected tableName = 'locations'
|
||||
|
||||
public async up () {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('id').primary()
|
||||
table.string('place')
|
||||
table.string('left')
|
||||
table.date('since')
|
||||
table.timestamps(true, true)
|
||||
})
|
||||
}
|
||||
|
||||
public async down () {
|
||||
this.schema.dropTable(this.tableName)
|
||||
}
|
||||
}
|
||||
20
database/migrations/1608415261417_projects.ts
Normal file
20
database/migrations/1608415261417_projects.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
import BaseSchema from '@ioc:Adonis/Lucid/Schema'
|
||||
|
||||
export default class Projects extends BaseSchema {
|
||||
protected tableName = 'projects'
|
||||
|
||||
public async up () {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('id').primary()
|
||||
table.string('name')
|
||||
table.string('description')
|
||||
table.string('url')
|
||||
table.integer('progress')
|
||||
table.timestamps(true, true)
|
||||
})
|
||||
}
|
||||
|
||||
public async down () {
|
||||
this.schema.dropTable(this.tableName)
|
||||
}
|
||||
}
|
||||
20
database/migrations/1618661863952_forms.ts
Normal file
20
database/migrations/1618661863952_forms.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
import BaseSchema from '@ioc:Adonis/Lucid/Schema'
|
||||
|
||||
export default class Forms extends BaseSchema {
|
||||
protected tableName = 'forms'
|
||||
|
||||
public async up () {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('id').primary()
|
||||
table.string('name')
|
||||
table.string('email')
|
||||
table.string('subject')
|
||||
table.string('content')
|
||||
table.timestamps(true, true)
|
||||
})
|
||||
}
|
||||
|
||||
public async down () {
|
||||
this.schema.dropTable(this.tableName)
|
||||
}
|
||||
}
|
||||
36
database/migrations/1625078903131_users.ts
Normal file
36
database/migrations/1625078903131_users.ts
Normal file
@@ -0,0 +1,36 @@
|
||||
import BaseSchema from '@ioc:Adonis/Lucid/Schema'
|
||||
import Hash from "@ioc:Adonis/Core/Hash";
|
||||
|
||||
export default class Users extends BaseSchema {
|
||||
protected tableName = 'users'
|
||||
|
||||
public async up () {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('id').primary()
|
||||
table.string('username', 255).notNullable()
|
||||
table.string('email', 255).notNullable()
|
||||
table.string('password', 180).defaultTo(this.randomPassword()).notNullable()
|
||||
table.boolean('is_confirmed').defaultTo(false).notNullable()
|
||||
table.string('remember_me_token').defaultTo(null).nullable()
|
||||
table.string('confirmation_token').defaultTo(null).nullable()
|
||||
table.timestamps(true, true)
|
||||
})
|
||||
}
|
||||
|
||||
public async down () {
|
||||
this.schema.dropTable(this.tableName)
|
||||
}
|
||||
|
||||
private randomPassword(): string {
|
||||
let password = ''
|
||||
const char = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!.:=+-_$*^&@#%ù/àçè()é"'
|
||||
const size = 64
|
||||
for (let i = 0; i < size; i++) {
|
||||
password += char.charAt(Math.random() * char.length)
|
||||
}
|
||||
Hash.make(password).then((value => {
|
||||
password = value
|
||||
}))
|
||||
return password
|
||||
}
|
||||
}
|
||||
21
database/migrations/1625078908619_api_tokens.ts
Normal file
21
database/migrations/1625078908619_api_tokens.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import BaseSchema from '@ioc:Adonis/Lucid/Schema'
|
||||
|
||||
export default class ApiTokens extends BaseSchema {
|
||||
protected tableName = 'api_tokens'
|
||||
|
||||
public async up () {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('id').primary()
|
||||
table.integer('user_id').unsigned().references('id').inTable('users').onDelete('CASCADE')
|
||||
table.string('name').notNullable()
|
||||
table.string('type').notNullable()
|
||||
table.string('token', 64).notNullable()
|
||||
table.timestamp('expires_at', { useTz: true }).nullable()
|
||||
table.timestamps(true, true)
|
||||
})
|
||||
}
|
||||
|
||||
public async down () {
|
||||
this.schema.dropTable(this.tableName)
|
||||
}
|
||||
}
|
||||
19
database/migrations/1628110081266_translations.ts
Normal file
19
database/migrations/1628110081266_translations.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
import BaseSchema from '@ioc:Adonis/Lucid/Schema'
|
||||
|
||||
export default class Translations extends BaseSchema {
|
||||
protected tableName = 'translations'
|
||||
|
||||
public async up () {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('id')
|
||||
table.string('code').notNullable()
|
||||
table.string('french').defaultTo('Traduction manquante')
|
||||
table.string('code').defaultTo('Missing translation')
|
||||
table.timestamps(true, true)
|
||||
})
|
||||
}
|
||||
|
||||
public async down () {
|
||||
this.schema.dropTable(this.tableName)
|
||||
}
|
||||
}
|
||||
19
database/migrations/1628110086918_profiles.ts
Normal file
19
database/migrations/1628110086918_profiles.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
import BaseSchema from '@ioc:Adonis/Lucid/Schema'
|
||||
|
||||
export default class Profiles extends BaseSchema {
|
||||
protected tableName = 'profiles'
|
||||
|
||||
public async up () {
|
||||
this.schema.createTable(this.tableName, (table) => {
|
||||
table.increments('id')
|
||||
table.integer('age').notNullable()
|
||||
table.string('hiring_color').notNullable()
|
||||
table.string('hiring_status').notNullable()
|
||||
table.timestamps(true, true)
|
||||
})
|
||||
}
|
||||
|
||||
public async down () {
|
||||
this.schema.dropTable(this.tableName)
|
||||
}
|
||||
}
|
||||
17
database/migrations/1628110400158_projects.ts
Normal file
17
database/migrations/1628110400158_projects.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
import BaseSchema from '@ioc:Adonis/Lucid/Schema'
|
||||
|
||||
export default class Projects extends BaseSchema {
|
||||
protected tableName = 'projects'
|
||||
|
||||
public async up () {
|
||||
this.schema.table(this.tableName, (table) => {
|
||||
table.integer('cover_id').unsigned().references('files.id').onDelete('CASCADE')
|
||||
})
|
||||
}
|
||||
|
||||
public async down () {
|
||||
this.schema.table(this.tableName, (table) => {
|
||||
table.dropColumn('cover_id')
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user