Added migrations script

This commit is contained in:
julien
2026-03-09 03:01:13 +01:00
parent 7424928003
commit 84cd2a8268
3 changed files with 38 additions and 14 deletions

View File

@@ -1,6 +1,6 @@
# blog-slim # blog-slim
* [PHP](https://www.php.net) comme language * [PHP](https://www.php.net) comme langage
* [Slim](https://www.slimframework.com) comme framework * [Slim](https://www.slimframework.com) comme framework
* [RedBeanPHP](https://www.redbeanphp.com/index.php) comme ORM * [RedBeanPHP](https://www.redbeanphp.com/index.php) comme ORM
* [Twig](https://twig.symfony.com) comme template engine * [Twig](https://twig.symfony.com) comme template engine
@@ -12,9 +12,10 @@ Installer les dépendances :
$ composer install $ composer install
``` ```
Créer le dossier pour la base de données : Initialiser la base de données :
``` ```
mkdir database $ mkdir database
$ php scripts/migrations.php
``` ```
Lancer le serveur de développement : Lancer le serveur de développement :

View File

@@ -60,17 +60,6 @@ if (!isset($medooOptions['database_name'])) {
} }
$database = new Medoo($medooOptions); $database = new Medoo($medooOptions);
// Créer la table si nécessaire (schéma minimal)
$database->query(
<<<'SQL'
CREATE TABLE IF NOT EXISTS post (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT NOT NULL,
content TEXT NOT NULL
);
SQL
);
// ------------------------- // -------------------------
// Services (container simple) // Services (container simple)
// ------------------------- // -------------------------

34
scripts/migrations.php Normal file
View File

@@ -0,0 +1,34 @@
<?php
declare(strict_types=1);
require __DIR__ . '/../vendor/autoload.php';
use Medoo\Medoo;
$dbFile = __DIR__ . '/../database/app.sqlite';
if (!file_exists($dbFile)) {
if (!is_dir(dirname($dbFile))) {
mkdir(dirname($dbFile), 0755, true);
}
touch($dbFile);
chmod($dbFile, 0664);
}
$database = new Medoo([
'database_type' => 'sqlite',
'database_file' => $dbFile,
]);
// schéma minimal — CREATE TABLE IF NOT EXISTS est idempotent
$database->query(
<<<'SQL'
CREATE TABLE IF NOT EXISTS post (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT NOT NULL,
content TEXT NOT NULL
);
SQL
);
echo "Migrations applied (minimal).\n";