Skip to content

Commit

Permalink
refactor(migration): refactor migration process
Browse files Browse the repository at this point in the history
  • Loading branch information
Shadow243 committed Jan 27, 2025
1 parent 5bbf052 commit 6911557
Show file tree
Hide file tree
Showing 20 changed files with 80 additions and 133 deletions.

This file was deleted.

This file was deleted.

This file was deleted.

12 changes: 0 additions & 12 deletions database/migrations/pgsql/20241209010100_create_hm_user_table.sql

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
ALTER TABLE hm_user_session
ADD COLUMN hm_version INT DEFAULT 1;

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
ALTER TABLE hm_user_session
ADD COLUMN hm_version INT DEFAULT 1;

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
ALTER TABLE hm_user_session
ADD COLUMN lock INT DEFAULT 0;

This file was deleted.

This file was deleted.

This file was deleted.

19 changes: 19 additions & 0 deletions database/mysql_schema.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
CREATE TABLE IF NOT EXISTS hm_user (
username VARCHAR(255),
hash VARCHAR(255),
PRIMARY KEY (username)
);

CREATE TABLE IF NOT EXISTS hm_user_session (
hm_id VARCHAR(255),
data LONGBLOB,
date TIMESTAMP,
hm_version INT DEFAULT 1,
PRIMARY KEY (hm_id)
);

CREATE TABLE IF NOT EXISTS hm_user_settings (
username VARCHAR(255),
settings LONGBLOB,
PRIMARY KEY (username)
);
34 changes: 34 additions & 0 deletions database/pgsql_schema.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM information_schema.tables
WHERE table_name = 'hm_user') THEN
CREATE TABLE hm_user (
username VARCHAR(255) PRIMARY KEY,
hash VARCHAR(255)
);
END IF;
END $$;

DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM information_schema.tables
WHERE table_name = 'hm_user_session') THEN
CREATE TABLE hm_user_session (
hm_id VARCHAR(255) PRIMARY KEY,
data BYTEA,
date TIMESTAMP,
hm_version INT DEFAULT 1
);
END IF;
END $$;

DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM information_schema.tables
WHERE table_name = 'hm_user_settings') THEN
CREATE TABLE hm_user_settings (
username VARCHAR(255) PRIMARY KEY,
settings BYTEA
);
END IF;
END $$;
20 changes: 20 additions & 0 deletions database/sqlite_schema.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
CREATE TABLE IF NOT EXISTS hm_user (
username TEXT NOT NULL,
hash TEXT NOT NULL,
PRIMARY KEY (username)
);

CREATE TABLE IF NOT EXISTS hm_user_session (
hm_id TEXT NOT NULL,
data BLOB,
date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
hm_version INT DEFAULT 1,
lock INT DEFAULT 0,
PRIMARY KEY (hm_id)
);

CREATE TABLE IF NOT EXISTS hm_user_settings (
username TEXT NOT NULL,
settings BLOB,
PRIMARY KEY (username)
);
3 changes: 1 addition & 2 deletions scripts/setup_database.php
Original file line number Diff line number Diff line change
Expand Up @@ -160,10 +160,9 @@ function initializeDatabase(PDO $pdo, string $schemaFile, string $migrationDir)
echo "Database schema initialized.\n";

ensureMigrationsTable($pdo);

$migrationFiles = glob($migrationDir .'/'.$db_driver.'/*.sql');
$stmt = $pdo->prepare("INSERT INTO migrations (migration, batch) VALUES (:migration, :batch)");

foreach ($migrationFiles as $file) {
$stmt->execute([
'migration' => basename($file),
Expand Down

0 comments on commit 6911557

Please sign in to comment.