TypeORM - Creación de un proyecto simple
Este capítulo explica cómo crear una aplicación TypeORM simple. Creemos un nuevo directorio llamado 'TypeORM' y pasemos al directorio.
cd /path/to/TypeORM/
Sintaxis
Utilice el siguiente comando para crear un nuevo proyecto:
typeorm init --name <project-name> --database <database-name>
Ejemplo
typeorm init --name FirstProject --database mysql
Aquí,
FirstProject es el nombre de su proyecto y sqlite3es el nombre de la base de datos. Después de ejecutar el comando anterior, podría ver la siguiente respuesta,
Project created inside /path/to/TypeORM/FirstProject directory
Ahora, muévase a nuestro directorio de proyectos e instale las dependencias del proyecto usando npm módulo,
$ cd FirstProject
$ npm install
Estructura del proyecto
Entendamos la estructura del proyecto de nuestro proyecto recién creado, FirstProject.
FirstProject
├──> src
│ ├──> entity
│ │ └──> User.ts
│ ├──> migration
│ └──> index.ts
├──> node_modules
├──> ormconfig.json
├──> package.json
├──> package-lock.json
└──> tsconfig.json
Aquí,
- src - contiene el código fuente de su aplicación en TypeScriptidioma. Tiene un archivoindex.ts y dos subdirectorios entity y migration.
- index.ts - Su punto de entrada a la aplicación.
- entity - Contiene modelos de base de datos.
- migration - contiene el código de migración de la base de datos.
- node_modules - módulos npm guardados localmente.
- ormconfig.json- Archivo de configuración principal de su aplicación. Contiene detalles de configuración de la base de datos y configuración de entidades.
- package.json - Contiene dependencias de módulo de nodo.
- package-lock.json - Archivo generado automáticamente y relacionado con package.json.
- tsconfig.json - Contiene opciones de compilador específicas de TypeScript.
archivo ormconfig.json
Comprobemos la opción de configuración disponible para nuestra aplicación. Abra el archivo ormconfig.json y se verá similar a esto:
{
"type": "mysql",
"host": "localhost",
"port": 3306,
"username": "test",
"password": "test",
"database": "test",
"synchronize": true,
"logging": false,
"entities": [
"src/entity/**/*.ts" ],
"migrations": [ "src/migration/**/*.ts"
],
"subscribers": [ "src/subscriber/**/*.ts"
],
"cli": {
"entitiesDir":"src/entity", "migrationsDir":"src/migration", "subscribersDir":"src/subscriber
}
}
Aquí,
type, host, username, password, database y las opciones de puerto están relacionadas con la configuración de la base de datos. mysql se puede configurar usando la siguiente configuración:
{
"type": "mysql",
"host": "localhost",
"port": 3306,
"username": "db_username", "password": "db_password", "database": "db_name"
}
- entities - hace referencia a la ubicación de sus clases de entidad.
- migrations - hace referencia a la ubicación de sus clases de migración.
- subscribers - se refiere a la ubicación de sus clases de abonado.
- cli - se refiere a la opción utilizada por TypeORM CLI para generar automáticamente el código
Inicie el servidor MySql
Antes de iniciar la aplicación, inicie su MySQL servidor o cualquier servidor de base de datos utilizado por usted y asegúrese de que esté funcionando correctamente.
Ejecutar aplicación
Una vez que todo está configurado, podemos ejecutar la aplicación usando el siguiente comando:
npm start
Podrías ver la siguiente respuesta:
> [email protected] start /Users/../../TypeORM/FirstProject
> ts-node src/index.ts
Inserting a new user into the database... Saved a new user with id: 1 Loading users from the database... Loaded users: [ User { id: 1, firstName: 'Timber', lastName: 'Saw', age: 25 }]
Here you can setup and run express/koa/any other framework.
La aplicación insertó un nuevo usuario en la base de datos y luego lo cargó en sentido inverso desde la base de datos y finalmente mostró el usuario cargado en la consola. Hemos creado con éxito un nuevoTypeORM aplicación, configúrelo y ejecute la aplicación.
Discutiremos sobre cómo se ejecutan los datos detalladamente en los próximos capítulos.