Puedes elegir entre diferentes formas de almacenar los datos.
- MySQL
- Archivo local JSON
- MongoDB
Debes crear un archivo .env
en la raíz del proyecto con el Puerto que deseas y las configuraciones de las bases de datos que vayas a utilizar.
PORT
- Para instalar las dependencias:
bun install
- Para ejecutar con archivo local JSON (por defecto):
bun run dev
bun run dev:local
- Para ejecutar con MySQL:
bun run dev:mysql
- Para ejecutar con MongoDB:
bun run dev:mongo
Cada base de datos debe probarse por separado.
- Para probar la API con Archivo local JSON:
bun run test:local
- Para probar la API con MySQL:
bun run test:mysql
- Para probar la API con MongoDB:
bun run test:mongo
Cambia el puerto de los ejemplos si es necesario.
DROP SCHEMA IF EXISTS movies_db;
CREATE SCHEMA movies_db;
USE movies_db;
CREATE TABLE movie
(
id BINARY(16) PRIMARY KEY DEFAULT (UUID_TO_BIN(UUID())),
title VARCHAR(255) NOT NULL,
year INT NOT NULL,
director VARCHAR(255) NOT NULL,
duration INT NOT NULL,
poster TEXT,
rate DECIMAL(2, 1) UNSIGNED NOT NULL
);
CREATE TABLE genre
(
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL UNIQUE
);
CREATE TABLE movie_genre
(
movie_id BINARY(16) REFERENCES movie (id),
genre_id INT REFERENCES genre (id),
PRIMARY KEY (movie_id, genre_id)
);
INSERT INTO genre (name)
VALUES ('Action'),
('Adventure'),
('Animation'),
('Biography'),
('Comedy'),
('Crime'),
('Drama'),
('Family'),
('Fantasy'),
('History'),
('Horror'),
('Music'),
('Mystery'),
('Romance'),
('Sci-Fi'),
('Sport'),
('Thriller'),
('War'),
('Western');
Para conectarse a MySQL, se debe crear o editar un archivo .env
en la raíz del proyecto con las siguientes variables de entorno:
MYSQL_HOST
MYSQL_USER
MYSQL_PASSWORD
MYSQL_DATABASE
MYSQL_PORT
La base de datos se crea automáticamente al insertar los primeros documentos.
Para conectarse a MongoDB, se debe crear o editar el archivo .env
en la raíz del proyecto con las siguientes variables de entorno:
MONGO_URI
MONGO_DB