feat: use xpier media library for uploads and markdown embeds

Store media:ID in post bodies instead of CDN URLs, and keep sablog attach tokens as a fallback.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
gouki
2026-09-16 19:03:52 +00:00
co-authored by Cursor
parent f6a9a8ea50
commit f81397a289
38 changed files with 5390 additions and 2059 deletions
@@ -24,10 +24,14 @@ return new class extends Migration
$table->string('status', 20)->default('active'); // active / disabled
$table->timestamp('last_clicked_at')->nullable();
$table->timestamps();
// MySQL 5.7 不支持对 TEXT 建全值索引,用前缀索引
$table->index([DB::raw('target_url(191)')], 'redirects_target_url_index');
});
// MySQL 5.7 cannot index TEXT fully; SQLite does not support prefix indexes.
if (Schema::getConnection()->getDriverName() === 'mysql') {
Schema::table('redirects', function (Blueprint $table): void {
$table->index([DB::raw('target_url(191)')], 'redirects_target_url_index');
});
}
}
public function down(): void