Added migrations script
This commit is contained in:
@@ -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 :
|
||||||
|
|||||||
@@ -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
34
scripts/migrations.php
Normal 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";
|
||||||
Reference in New Issue
Block a user