feat: add accounts and movies tables in migrations
- Created migration for accounts table with fields: id, username, password, role_id, created_at, updated_at. - Created migration for movies table with fields: id, title, overview, poster_path, backdrop_path, release_date, tmdb_id. refactor: update package.json scripts and dependencies - Changed dev script to use bun instead of tsx. - Added build:migrate script for migration. - Updated devDependencies for bun and oxlint. fix: refactor database connection and migration execution - Updated PgDatabase to use SQL from bun. - Refactored migration execution logic to read SQL files and execute them. feat: implement account creation and validation logic - Updated AccountEntity to use username instead of email. - Added validation for username format and password strength. - Implemented account repository methods for finding by username and inserting accounts. test: add tests for account entity, repository, and service - Created tests for AccountEntity to validate username and password. - Added tests for AccountRepository to ensure correct database interactions. - Implemented tests for AccountService to validate registration and login logic. chore: remove outdated tests and files - Deleted old tests related to email-based account management. - Cleaned up unused imports and files to streamline the codebase.
This commit is contained in:
17
src/bin/migrate.ts
Normal file
17
src/bin/migrate.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
import path from "node:path";
|
||||
import Migration from "../database/Migration";
|
||||
import PgDatabase from "../database/PgDatabase";
|
||||
|
||||
const connectionString = process.env.DATABASE_URL;
|
||||
if (!connectionString)
|
||||
throw new Error("DATABASE_URL environment variable is not set");
|
||||
|
||||
const migrationsFolder = process.env.MIGRATIONS_FOLDER;
|
||||
if (!migrationsFolder)
|
||||
throw new Error("MIGRATIONS_FOLDER environment variable is not set");
|
||||
|
||||
const db = PgDatabase.fromConnectionString(connectionString);
|
||||
await db.ping();
|
||||
|
||||
const migration = new Migration(db);
|
||||
await migration.execute(path.resolve("migrations"));
|
||||
Reference in New Issue
Block a user