Skip to content
Snippets Groups Projects
Commit efa79425 authored by Wilson JALLET's avatar Wilson JALLET :money_with_wings:
Browse files

Fix migrations: dropped columns used in GraphQL, etc

parent 5985663d
No related branches found
No related tags found
No related merge requests found
exports.up = function(knex, Promise) {
return knex.schema.createTable('posts', function (table) {
return knex.schema.createTable('messages', function (table) {
table.timestamps(true,true);
table.increments('id');
table.string('title').notNullable();
table.text('description');
table.specificType('authors', knex.raw('varchar(128)[]')).notNullable();
table.text('content');
});
};
exports.down = function(knex, Promise) {
return knex.schema.dropTable('posts');
return knex.schema.dropTable('messages');
};
exports.up = function(knex, Promise) {
return knex.schema.createTable('request', function (table){
return knex.schema.createTable('requests', function (table){
table.timestamps(true, true);
table.increments('id');
table.string('recepient').notNullable();
table.string('recipient').notNullable();
table.text('message');
}).then(()=>{
return knex.schema.createTable('user_join_group', function (table) {
table.inherits('request');
table.inherits('requests');
table.string('useruid').notNullable();
}).then(()=>{
return knex.schema.createTable('group_join_event', function (table){
table.inherits('request');
table.inherits('requests');
table.string('eventuid').notNullable();
table.string('senderuid').notNullable();
}).then(() => {
return knex.schema.createTable('your_group_host_event', function(table){
table.inherits('request');
table.inherits('requests');
table.string('eventuid').notNullable();
table.string('senderuid').notNullable();
});
......@@ -29,7 +29,7 @@ exports.down = function(knex, Promise) {
return knex.schema.dropTable('your_group_host_event').then(() => {
return knex.schema.dropTable('group_join_event').then(() => {
return knex.schema.dropTable('user_join_group').then(() => {
return knex.schema.dropTable('request').then(() => {
return knex.schema.dropTable('requests').then(() => {
});
});
});
......
exports.up = function(knex, Promise) {
return knex.schema.renameTable('request','requests').table('requests', function(table) {
table.renameColumn('recepient','recipient');
});
};
exports.down = function(knex, Promise) {
return knex.schema.table('requests', function (table) {
table.renameColumn('recipient', 'recepient');
table.renameColumn('requests','request');
});
};
/*
Une mutation pour rajouter dans la BDD les types SimpleGroup et MetaGroup
Une migrations pour rajouter dans la BDD les tables simple_group et meta_group
(cf la documentation de l'API GraphQL)
Les objets qui étaient jusqu''à présent stoqués dans la table groups
Les objets qui étaient jusqu'à présent stoqués dans la table groups
sont déplacés dans la table simple_groups
En cas de rollback, le déplacement se fait dans l'autre sens
(et les meta groupes sont perdus)
Après cette mutation, plus rien n'est sensé être mis directement dans la table groups
Après cette migration, plus rien n'est sensé être mis directement dans la table groups
*/
exports.up = function(knex, Promise) {
......
exports.up = async function(knex, Promise) {
await knex.schema.renameTable("posts", "messages");
await knex.schema.table('messages', function(table){
table.renameColumn('description', 'content');
});
await knex.schema.createTable('announcements', function (table){
table.inherits('messages');
table.specificType('authors', knex.raw('varchar(128)[]'));
table.integer('views').defaultTo(0);
});
await knex.schema.createTable('events', function (table){
table.inherits('messages');
......@@ -13,6 +11,7 @@ exports.up = async function(knex, Promise) {
table.dateTime('start_time');
table.dateTime('end_time');
table.boolean('is_announcement');
table.specificType('authors', knex.raw('varchar(128)[]'));
});
await knex.schema.createTable('group_message_relationships', function(table){
table.integer('message').notNullable();
......@@ -31,14 +30,10 @@ exports.down = async function(knex, Promise) {
await knex.schema.dropTable('group_message_relationships');
await knex.schema.dropTable('user_participation');
let event_posts = await knex.select().from('events');
let announcment_posts = await knex.select().from('announcements');
let announcement_posts = await knex.select().from('announcements');
await knex.schema.dropTable('events');
await knex.schema.dropTable('announcements');
await knex.schema.renameTable('messages', 'posts');
await knex.schema.table('posts', function(table){
table.renameColumn('content', 'description');
});
await knex('messages').insert(event_posts);
await knex('messages').insert(announcment_posts);
await knex('messages').insert(announcement_posts);
return;
};
......@@ -3,18 +3,11 @@ exports.up = async function(knex, Promise) {
await knex.schema.createTable('posts', function(table) {
table.inherits('messages');
});
await knex.schema.table('announcements', function(table) {
table.integer('views').defaultTo(0);
});
return;
};
exports.down = async function(knex, Promise) {
await knex.schema.dropTable('posts');
await knex.schema.table("announcements", function(table) {
table.dropColumn('views');
});
return;
};
exports.up = async function(knex, Promise) {
await knex.schema.dropTable('posts');
await knex.schema.table('messages', function(table){
table.dropColumn('authors');
});
await knex.schema.createTable('private_post', function(table){
table.inherits('messages');
table.string('author_uid', 128).notNullable();
......@@ -22,12 +18,6 @@ exports.up = async function(knex, Promise) {
table.string('recipient_uid', 128).notNullable();
table.string('for_question', 128).notNullable();
});
await knex.schema.table('events', function(table){
table.specificType('authors', knex.raw('varchar(128)[]'));
});
await knex.schema.table('announcements', function(table){
table.specificType('authors', knex.raw('varchar(128)[]'));
});
return;
};
......@@ -35,11 +25,5 @@ exports.down = async function(knex, Promise) {
await knex.schema.dropTable('answer');
await knex.schema.dropTable('question');
await knex.schema.dropTable('private_post');
await knex.schema.table('messages', function(table){
table.specificType('authors', knex.raw('varchar(128)[]'));
});
await knex.schema.createTable('posts', function(table) {
table.inherits('messages');
});
return;
};
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment