the browser-facing portion of osu!
1<?php
2
3// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0.
4// See the LICENCE file in the repository root for full licence text.
5
6use Illuminate\Database\Migrations\Migration;
7use Illuminate\Database\Schema\Blueprint;
8use Illuminate\Support\Facades\Schema;
9
10class CreateChangelogs extends Migration
11{
12 /**
13 * Run the migrations.
14 *
15 * @return void
16 */
17 public function up()
18 {
19 Schema::create('build_changelog_entry', function (Blueprint $table) {
20 $table->unsignedBigInteger('build_id');
21 $table->unsignedBigInteger('changelog_entry_id');
22 $table->unique(['build_id', 'changelog_entry_id']);
23 });
24
25 Schema::create('changelog_entries', function (Blueprint $table) {
26 $table->bigIncrements('id');
27 $table->string('repository', 150)->nullable()->default(null);
28 $table->unsignedBigInteger('github_pull_request_id')->nullable()->default(null);
29 $table->string('type')->nullable()->default(null);
30 $table->string('category')->nullable()->default(null);
31 $table->string('title')->nullable()->default(null);
32 $table->text('message')->nullable()->default(null);
33 $table->unsignedBigInteger('github_user_id')->nullable()->default(null);
34 $table->boolean('private')->default(false);
35 $table->boolean('major')->default(false);
36 $table->string('url')->nullable()->default(null);
37 $table->nullableTimestamps();
38 $table->unique(['repository', 'github_pull_request_id']);
39 });
40
41 Schema::create('github_users', function (Blueprint $table) {
42 $table->bigIncrements('id');
43 $table->unsignedBigInteger('canonical_id')->nullable()->default(null)->unique();
44 $table->string('username')->nullable()->default(null);
45 $table->unsignedMediumInteger('user_id')->nullable()->default(null);
46 $table->nullableTimestamps();
47 });
48 }
49
50 /**
51 * Reverse the migrations.
52 *
53 * @return void
54 */
55 public function down()
56 {
57 Schema::drop('build_changelog_entry');
58 Schema::drop('changelog_entries');
59 Schema::drop('github_users');
60 }
61}