diff options
| author | Sin-MacBook <[email protected]> | 2020-08-10 23:44:20 +0200 |
|---|---|---|
| committer | Sin-MacBook <[email protected]> | 2020-08-10 23:44:20 +0200 |
| commit | 2a53887abba882bf7b63aeda8dfa55fdb3ab8792 (patch) | |
| tree | ad7a95eb41faa6ff13c3142285cdc0eb3ca92183 /db | |
| download | modmail-2a53887abba882bf7b63aeda8dfa55fdb3ab8792.tar.xz modmail-2a53887abba882bf7b63aeda8dfa55fdb3ab8792.zip | |
clean this up when home
Diffstat (limited to 'db')
| -rw-r--r-- | db/.gitignore.example | 3 | ||||
| -rw-r--r-- | db/data.sqlite | bin | 0 -> 86016 bytes | |||
| -rw-r--r-- | db/migrations/20171223203915_create_tables.js | 45 | ||||
| -rw-r--r-- | db/migrations/20180224235946_add_close_at_to_threads.js | 15 | ||||
| -rw-r--r-- | db/migrations/20180421161550_add_alert_id_to_threads.js | 11 | ||||
| -rw-r--r-- | db/migrations/20180920224224_remove_is_anonymous_from_snippets.js | 11 | ||||
| -rw-r--r-- | db/migrations/20190306204728_add_scheduled_close_silent_to_threads.js | 11 | ||||
| -rw-r--r-- | db/migrations/20190306211534_add_scheduled_suspend_to_threads.js | 15 | ||||
| -rw-r--r-- | db/migrations/20190609161116_create_updates_table.js | 14 | ||||
| -rw-r--r-- | db/migrations/20190609193213_add_expires_at_to_blocked_users.js | 11 |
10 files changed, 136 insertions, 0 deletions
diff --git a/db/.gitignore.example b/db/.gitignore.example new file mode 100644 index 0000000..08f41a1 --- /dev/null +++ b/db/.gitignore.example @@ -0,0 +1,3 @@ +/* +!/.gitignore +!/migrations/ diff --git a/db/data.sqlite b/db/data.sqlite Binary files differnew file mode 100644 index 0000000..967e6c5 --- /dev/null +++ b/db/data.sqlite diff --git a/db/migrations/20171223203915_create_tables.js b/db/migrations/20171223203915_create_tables.js new file mode 100644 index 0000000..b5880a3 --- /dev/null +++ b/db/migrations/20171223203915_create_tables.js @@ -0,0 +1,45 @@ +exports.up = async function(knex, Promise) { + await knex.schema.createTableIfNotExists('threads', table => { + table.string('id', 36).notNullable().primary(); + table.integer('status').unsigned().notNullable().index(); + table.integer('is_legacy').unsigned().notNullable(); + table.string('user_id', 20).notNullable().index(); + table.string('user_name', 128).notNullable(); + table.string('channel_id', 20).nullable().unique(); + table.dateTime('created_at').notNullable().index(); + }); + + await knex.schema.createTableIfNotExists('thread_messages', table => { + table.increments('id'); + table.string('thread_id', 36).notNullable().index().references('id').inTable('threads').onDelete('CASCADE'); + table.integer('message_type').unsigned().notNullable(); + table.string('user_id', 20).nullable(); + table.string('user_name', 128).notNullable(); + table.mediumtext('body').notNullable(); + table.integer('is_anonymous').unsigned().notNullable(); + table.string('dm_message_id', 20).nullable().unique(); + table.dateTime('created_at').notNullable().index(); + }); + + await knex.schema.createTableIfNotExists('blocked_users', table => { + table.string('user_id', 20).primary().notNullable(); + table.string('user_name', 128).notNullable(); + table.string('blocked_by', 20).nullable(); + table.dateTime('blocked_at').notNullable(); + }); + + await knex.schema.createTableIfNotExists('snippets', table => { + table.string('trigger', 32).primary().notNullable(); + table.text('body').notNullable(); + table.integer('is_anonymous').unsigned().notNullable(); + table.string('created_by', 20).nullable(); + table.dateTime('created_at').notNullable(); + }); +}; + +exports.down = async function(knex, Promise) { + await knex.schema.dropTableIfExists('thread_messages'); + await knex.schema.dropTableIfExists('threads'); + await knex.schema.dropTableIfExists('blocked_users'); + await knex.schema.dropTableIfExists('snippets'); +}; diff --git a/db/migrations/20180224235946_add_close_at_to_threads.js b/db/migrations/20180224235946_add_close_at_to_threads.js new file mode 100644 index 0000000..dbbb04d --- /dev/null +++ b/db/migrations/20180224235946_add_close_at_to_threads.js @@ -0,0 +1,15 @@ +exports.up = async function (knex, Promise) { + await knex.schema.table('threads', table => { + table.dateTime('scheduled_close_at').index().nullable().defaultTo(null).after('channel_id'); + table.string('scheduled_close_id', 20).nullable().defaultTo(null).after('channel_id'); + table.string('scheduled_close_name', 128).nullable().defaultTo(null).after('channel_id'); + }); +}; + +exports.down = async function(knex, Promise) { + await knex.schema.table('threads', table => { + table.dropColumn('scheduled_close_at'); + table.dropColumn('scheduled_close_id'); + table.dropColumn('scheduled_close_name'); + }); +}; diff --git a/db/migrations/20180421161550_add_alert_id_to_threads.js b/db/migrations/20180421161550_add_alert_id_to_threads.js new file mode 100644 index 0000000..5defc38 --- /dev/null +++ b/db/migrations/20180421161550_add_alert_id_to_threads.js @@ -0,0 +1,11 @@ +exports.up = async function (knex, Promise) { + await knex.schema.table('threads', table => { + table.string('alert_id', 20).nullable().defaultTo(null).after('scheduled_close_name'); + }); +}; + +exports.down = async function(knex, Promise) { + await knex.schema.table('threads', table => { + table.dropColumn('alert_id'); + }); +}; diff --git a/db/migrations/20180920224224_remove_is_anonymous_from_snippets.js b/db/migrations/20180920224224_remove_is_anonymous_from_snippets.js new file mode 100644 index 0000000..ac33267 --- /dev/null +++ b/db/migrations/20180920224224_remove_is_anonymous_from_snippets.js @@ -0,0 +1,11 @@ +exports.up = async function (knex, Promise) { + await knex.schema.table('snippets', table => { + table.dropColumn('is_anonymous'); + }); +}; + +exports.down = async function(knex, Promise) { + await knex.schema.table('snippets', table => { + table.integer('is_anonymous').unsigned().notNullable(); + }); +}; diff --git a/db/migrations/20190306204728_add_scheduled_close_silent_to_threads.js b/db/migrations/20190306204728_add_scheduled_close_silent_to_threads.js new file mode 100644 index 0000000..e61490d --- /dev/null +++ b/db/migrations/20190306204728_add_scheduled_close_silent_to_threads.js @@ -0,0 +1,11 @@ +exports.up = async function(knex, Promise) { + await knex.schema.table('threads', table => { + table.integer('scheduled_close_silent').nullable().after('scheduled_close_name'); + }); +}; + +exports.down = async function(knex, Promise) { + await knex.schema.table('threads', table => { + table.dropColumn('scheduled_close_silent'); + }); +}; diff --git a/db/migrations/20190306211534_add_scheduled_suspend_to_threads.js b/db/migrations/20190306211534_add_scheduled_suspend_to_threads.js new file mode 100644 index 0000000..a22b5f3 --- /dev/null +++ b/db/migrations/20190306211534_add_scheduled_suspend_to_threads.js @@ -0,0 +1,15 @@ +exports.up = async function(knex, Promise) { + await knex.schema.table('threads', table => { + table.dateTime('scheduled_suspend_at').index().nullable().defaultTo(null).after('channel_id'); + table.string('scheduled_suspend_id', 20).nullable().defaultTo(null).after('channel_id'); + table.string('scheduled_suspend_name', 128).nullable().defaultTo(null).after('channel_id'); + }); +}; + +exports.down = async function(knex, Promise) { + await knex.schema.table('threads', table => { + table.dropColumn('scheduled_suspend_at'); + table.dropColumn('scheduled_suspend_id'); + table.dropColumn('scheduled_suspend_name'); + }); +}; diff --git a/db/migrations/20190609161116_create_updates_table.js b/db/migrations/20190609161116_create_updates_table.js new file mode 100644 index 0000000..c90e9bd --- /dev/null +++ b/db/migrations/20190609161116_create_updates_table.js @@ -0,0 +1,14 @@ +exports.up = async function(knex, Promise) { + if (! await knex.schema.hasTable('updates')) { + await knex.schema.createTable('updates', table => { + table.string('available_version', 16).nullable(); + table.dateTime('last_checked').nullable(); + }); + } +}; + +exports.down = async function(knex, Promise) { + if (await knex.schema.hasTable('updates')) { + await knex.schema.dropTable('updates'); + } +}; diff --git a/db/migrations/20190609193213_add_expires_at_to_blocked_users.js b/db/migrations/20190609193213_add_expires_at_to_blocked_users.js new file mode 100644 index 0000000..ea456a6 --- /dev/null +++ b/db/migrations/20190609193213_add_expires_at_to_blocked_users.js @@ -0,0 +1,11 @@ +exports.up = async function(knex, Promise) { + await knex.schema.table('blocked_users', table => { + table.dateTime('expires_at').nullable(); + }); +}; + +exports.down = async function(knex, Promise) { + await knex.schema.table('blocked_users', table => { + table.dropColumn('expires_at'); + }); +}; |