Merge pull request #505 from pixelfed/frontend-ui-refactor

Update migration to add pgsql support
pull/513/head
daniel 2018-10-16 20:40:19 -06:00 zatwierdzone przez GitHub
commit 47339bd5ae
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
1 zmienionych plików z 24 dodań i 1 usunięć

Wyświetl plik

@ -13,7 +13,30 @@ class UpdateStatusVisibilityDefaults extends Migration
*/
public function up()
{
DB::statement("ALTER TABLE statuses CHANGE COLUMN visibility visibility ENUM('public','unlisted','private','direct', 'draft') NOT NULL DEFAULT 'public'");
$type = config('database.default');
switch($type)
{
case 'mysql':
DB::statement("ALTER TABLE statuses CHANGE COLUMN visibility visibility ENUM('public','unlisted','private','direct', 'draft') NOT NULL DEFAULT 'public'");
break;
case 'pgsql':
$sql = <<<'SQL'
# rename the existing type
ALTER TYPE visibility_enum RENAME TO visibility_enum_old;
# create the new type
CREATE TYPE visibility_enum AS ENUM('public','unlisted','private','direct', 'draft');
# update the columns to use the new type
ALTER TABLE statuses ALTER COLUMN visibility TYPE visibility_enum USING visibility::text::visibility_enum;
# remove the old type
DROP TYPE visibility_enum_old;
SQL;
DB::statement($sql);
break;
}
}
/**