From fd7c3b7bd7b4e3553c493ee31f557ea186a7befb Mon Sep 17 00:00:00 2001 From: Gabriel Engel Date: Tue, 23 Jun 2015 19:00:06 -0300 Subject: [PATCH] fixing migration issues --- packages/rocketchat-hubot/hubot.coffee | 4 +- server/methods/setUsername.coffee | 8 ++-- server/startup/generalRoom.coffee | 10 ----- server/startup/initialData.coffee | 40 ++++++++++++------- .../migrations/{v0.1.1.coffee => v1.coffee} | 0 .../migrations/{v0.1.2.coffee => v2.coffee} | 0 server/startup/migrations/v4.coffee | 7 ---- server/startup/migrations/v6.coffee | 17 ++++++++ server/startup/migrations/xrun.coffee | 7 +++- 9 files changed, 54 insertions(+), 39 deletions(-) delete mode 100644 server/startup/generalRoom.coffee rename server/startup/migrations/{v0.1.1.coffee => v1.coffee} (100%) rename server/startup/migrations/{v0.1.2.coffee => v2.coffee} (100%) create mode 100644 server/startup/migrations/v6.coffee diff --git a/packages/rocketchat-hubot/hubot.coffee b/packages/rocketchat-hubot/hubot.coffee index 63737fb4654..a4f397a323a 100644 --- a/packages/rocketchat-hubot/hubot.coffee +++ b/packages/rocketchat-hubot/hubot.coffee @@ -207,7 +207,7 @@ RocketChat.callbacks.add 'afterSaveMessage', RocketBotReceiver, RocketChat.callb # keepalive = -> Meteor.call 'setPresence', # u: # username: 'rocketbot' - # rid: '57om6EQCcFami9wuT' + # rid: 'GENERAL' # present: true # foreground: true # keepalive() @@ -230,7 +230,7 @@ RocketChat.callbacks.add 'afterSaveMessage', RocketBotReceiver, RocketChat.callb # adapter.receive tm # startup = false # Meteor.call "sendMessage", - # rid: '57om6EQCcFami9wuT' + # rid: 'GENERAL' # msg: 'wakes up' # u: # username: "rocketbot" diff --git a/server/methods/setUsername.coffee b/server/methods/setUsername.coffee index eb0f5871281..7a405d07f47 100644 --- a/server/methods/setUsername.coffee +++ b/server/methods/setUsername.coffee @@ -18,15 +18,15 @@ Meteor.methods if not user.username? # put user in general channel - ChatRoom.update '57om6EQCcFami9wuT', + ChatRoom.update 'GENERAL', $push: usernames: $each: [username] $sort: 1 - if not ChatSubscription.findOne(rid: '57om6EQCcFami9wuT', 'u._id': user._id)? + if not ChatSubscription.findOne(rid: 'GENERAL', 'u._id': user._id)? ChatSubscription.insert - rid: '57om6EQCcFami9wuT' + rid: 'GENERAL' name: 'general' ts: new Date() t: 'c' @@ -39,7 +39,7 @@ Meteor.methods username: username ChatMessage.insert - rid: '57om6EQCcFami9wuT' + rid: 'GENERAL' ts: new Date() t: 'uj' msg: '' diff --git a/server/startup/generalRoom.coffee b/server/startup/generalRoom.coffee deleted file mode 100644 index d598d2ceb1d..00000000000 --- a/server/startup/generalRoom.coffee +++ /dev/null @@ -1,10 +0,0 @@ -Meteor.startup -> - Meteor.defer -> - if ChatRoom.find('57om6EQCcFami9wuT').count() is 0 - ChatRoom.insert - _id: '57om6EQCcFami9wuT' - usernames: [] - ts: new Date() - t: 'c' - name: 'general' - msgs: 0 diff --git a/server/startup/initialData.coffee b/server/startup/initialData.coffee index 6b0e959fdd7..59f4c59412c 100644 --- a/server/startup/initialData.coffee +++ b/server/startup/initialData.coffee @@ -1,18 +1,28 @@ -lineSep = '---------------------------' - Meteor.startup -> - if not Meteor.users.findOne()? - console.log lineSep.red - console.log 'Inserting user admin'.red - console.log 'email: admin@admin.com | password: admin'.red + Meteor.defer -> + + + if not ChatRoom.findOne('name': 'general')? + ChatRoom.insert + _id: 'GENERAL' + usernames: [] + ts: new Date() + t: 'c' + name: 'general' + msgs: 0 + + + # if not Meteor.users.findOne()? + # console.log 'Inserting user admin'.red + # console.log 'email: admin@admin.com | password: admin'.red - id = Meteor.users.insert - createdAt: new Date - emails: [ - address: 'admin@admin.com' - verified: true - ], - name: 'Admin' - avatarOrigin: 'none' + # id = Meteor.users.insert + # createdAt: new Date + # emails: [ + # address: 'admin@admin.com' + # verified: true + # ], + # name: 'Admin' + # avatarOrigin: 'none' - Accounts.setPassword id, 'admin' + # Accounts.setPassword id, 'admin' diff --git a/server/startup/migrations/v0.1.1.coffee b/server/startup/migrations/v1.coffee similarity index 100% rename from server/startup/migrations/v0.1.1.coffee rename to server/startup/migrations/v1.coffee diff --git a/server/startup/migrations/v0.1.2.coffee b/server/startup/migrations/v2.coffee similarity index 100% rename from server/startup/migrations/v0.1.2.coffee rename to server/startup/migrations/v2.coffee diff --git a/server/startup/migrations/v4.coffee b/server/startup/migrations/v4.coffee index 09d9b2a38b2..d174c99bac8 100644 --- a/server/startup/migrations/v4.coffee +++ b/server/startup/migrations/v4.coffee @@ -26,11 +26,4 @@ Meteor.startup -> ChatSubscription.update {rid: item._id}, {$set: {name: name}}, {multi: true} - console.log 'Dropping test rooms with less than 10 messages' - ChatRoom.find({msgs: {'$lt': 10}}).forEach (room) -> - ChatRoom.remove room._id - ChatMessage.remove {rid: room._id} - ChatSubscription.remove {rid: room._id} - - console.log 'End' diff --git a/server/startup/migrations/v6.coffee b/server/startup/migrations/v6.coffee new file mode 100644 index 00000000000..0daae5376b9 --- /dev/null +++ b/server/startup/migrations/v6.coffee @@ -0,0 +1,17 @@ +Meteor.startup -> + Migrations.add + version: 6 + up: -> + + console.log 'Changin _id of #general channel room from 57om6EQCcFami9wuT to GENERAL' + room = ChatRoom.findOne('57om6EQCcFami9wuT') + newId = 'GENERAL' + if room + ChatSubscription.update({'rid':room._id},{'$set':{'rid':newId}},{'multi':1}) + ChatMessage.update({'rid':room._id},{'$set':{'rid':newId}},{'multi':1}) + ChatRoom.remove({'_id':room._id}) + delete room._id + ChatRoom.upsert({'_id':newId}, { $set: room}) + + + console.log 'End' diff --git a/server/startup/migrations/xrun.coffee b/server/startup/migrations/xrun.coffee index 0473a47076b..9554d54968e 100644 --- a/server/startup/migrations/xrun.coffee +++ b/server/startup/migrations/xrun.coffee @@ -1,3 +1,8 @@ Meteor.startup -> Meteor.defer -> - Migrations.migrateTo 'latest' + if Migrations.getVersion() isnt 0 + Migrations.migrateTo 'latest' + else + control = Migrations._getControl() + control.version = _.last(Migrations._list).version + Migrations._setControl control