37 lines
1.3 KiB
PHP
37 lines
1.3 KiB
PHP
<?php
|
||
declare(strict_types=1);
|
||
|
||
require __DIR__ . '/vendor/autoload.php';
|
||
|
||
use Illuminate\Database\Capsule\Manager as Capsule;
|
||
|
||
// ---------------------------------------------------------------------
|
||
// Connexion SQLite – on utilise un chemin absolu (realpath) afin
|
||
// d'éviter le helper Laravel `base_path()` qui n'est pas disponible.
|
||
// ---------------------------------------------------------------------
|
||
$capsule = new Capsule;
|
||
$capsule->addConnection([
|
||
'driver' => 'sqlite',
|
||
// __DIR__ pointe sur le répertoire racine du projet
|
||
// le fichier SQLite se trouve dans le sous‑dossier `database`
|
||
'database' => realpath(__DIR__ . '/database/blog.sqlite'),
|
||
'prefix' => '',
|
||
]);
|
||
|
||
$capsule->setAsGlobal();
|
||
$capsule->bootEloquent();
|
||
|
||
// ---------------------------------------------------------------------
|
||
// Création de la table `posts` si elle n'existe pas déjà
|
||
// ---------------------------------------------------------------------
|
||
if (!Capsule::schema()->hasTable('posts')) {
|
||
Capsule::schema()->create('posts', function ($table) {
|
||
$table->increments('id'); // clé primaire auto‑incrémentée
|
||
$table->string('title'); // titre de l'article
|
||
$table->text('content'); // contenu de l'article
|
||
});
|
||
echo "Table 'posts' créée avec succès.\n";
|
||
} else {
|
||
echo "La table 'posts' existe déjà.\n";
|
||
}
|