From 54e327ee9ea761b308364cf1f100dfe132554f19 Mon Sep 17 00:00:00 2001 From: Andy Heathershaw Date: Mon, 19 Nov 2018 14:14:15 +0000 Subject: [PATCH] #111: Added the migration SQL to populate the user_activity table --- .../DataMigrationV2_2_0_alpha_1.php | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/database/data_migrations/DataMigrationV2_2_0_alpha_1.php b/database/data_migrations/DataMigrationV2_2_0_alpha_1.php index a37ae0c..4e17f78 100644 --- a/database/data_migrations/DataMigrationV2_2_0_alpha_1.php +++ b/database/data_migrations/DataMigrationV2_2_0_alpha_1.php @@ -12,6 +12,32 @@ class DataMigrationV2_2_0_alpha_1 extends DataMigration public function run($currentVersion) { - //DB::insert('INSERT INTO user_activity ()') + // Insert photo.uploaded events + DB::insert('INSERT INTO user_activity (user_id, activity_at, type, photo_id, created_at, updated_at) +SELECT photos.user_id, photos.created_at, \'photo.uploaded\', photos.id, NOW(), NOW() +FROM photos +LEFT OUTER JOIN user_activity ON (user_activity.user_id = photos.user_id AND user_activity.activity_at = photos.created_at AND user_activity.type = \'photo.uploaded\' AND user_activity.photo_id = photos.id) +WHERE user_activity.id IS NULL'); + + // Insert photo.taken events + DB::insert('INSERT INTO user_activity (user_id, activity_at, type, photo_id, created_at, updated_at) +SELECT photos.user_id, photos.taken_at, \'photo.taken\', photos.id, NOW(), NOW() +FROM photos +LEFT OUTER JOIN user_activity ON (user_activity.user_id = photos.user_id AND user_activity.activity_at = photos.taken_at AND user_activity.type = \'photo.taken\' AND user_activity.photo_id = photos.id) +WHERE user_activity.id IS NULL AND photos.taken_at IS NOT NULL'); + + // Insert album.created events + DB::insert('INSERT INTO user_activity (user_id, activity_at, type, album_id, created_at, updated_at) +SELECT albums.user_id, albums.created_at, \'album.created\', albums.id, NOW(), NOW() +FROM albums +LEFT OUTER JOIN user_activity ON (user_activity.user_id = albums.user_id AND user_activity.activity_at = albums.created_at AND user_activity.type = \'album.created\' AND user_activity.album_id = albums.id) +WHERE user_activity.id IS NULL'); + + // Insert user.created events + DB::insert('INSERT INTO user_activity (user_id, activity_at, type, created_at, updated_at) +SELECT users.id, users.created_at, \'user.created\', NOW(), NOW() +FROM users +LEFT OUTER JOIN user_activity ON (user_activity.user_id = users.id AND user_activity.activity_at = users.created_at AND user_activity.type = \'user.created\') +WHERE user_activity.id IS NULL'); } } \ No newline at end of file