diff options
| author | horus | 2020-04-02 21:52:04 +0200 |
|---|---|---|
| committer | horus | 2020-04-02 21:52:04 +0200 |
| commit | 5a8c47e29afdbb61c32c1e03162abb1bb871ee9e (patch) | |
| tree | 19cd2e0c48119a703306a71df813d07666289e8f /database/migrations/2020_03_28_132812_create_view_articles.php | |
| download | curious-5a8c47e29afdbb61c32c1e03162abb1bb871ee9e.tar.gz | |
Initial commit.
Diffstat (limited to 'database/migrations/2020_03_28_132812_create_view_articles.php')
| -rw-r--r-- | database/migrations/2020_03_28_132812_create_view_articles.php | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/database/migrations/2020_03_28_132812_create_view_articles.php b/database/migrations/2020_03_28_132812_create_view_articles.php new file mode 100644 index 0000000..15fdee8 --- /dev/null +++ b/database/migrations/2020_03_28_132812_create_view_articles.php @@ -0,0 +1,53 @@ +<?php + +use Illuminate\Database\Migrations\Migration; +use Illuminate\Database\Schema\Blueprint; +use Illuminate\Support\Facades\DB; + +class CreateViewArticles extends Migration +{ + /** + * Run the migrations. + * + * @return void + */ + public function up() + { + DB::statement( + "CREATE VIEW view_article AS + SELECT + article_id as id, + article_id, + a.created_at, + a.updated_at, + a.url, + a.title, + a.excerpt_html, + sum(upvotes)+sum(comments) AS impact, + sum(upvotes) AS upvotes, + sum(comments) as comments, + count(article_id) AS repost + FROM + discussion as d + JOIN + article AS a ON d.article_id = a.id + GROUP BY + article_id, + a.created_at, + a.updated_at, + a.url, + a.title, + a.excerpt_html" + ); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + DB::statement("DROP VIEW view_article;"); + } +} |
