Railway permite alojar aplicaciones gratuitamente (por tiempo limitado) incluso con el servicio de MySQL.
Variables
Modifique el archivo config/config.json
en la clave production con los datos para la conexión. Agregue la clave port al objeto de configuración.
...
"production": {
"username": "root",
"password": "Zrp...A29",
"database": "railway",
"host": "containers-us-west-XYZ.railway.app",
"port": "7254",
"dialect": "mysql"
}
...
Modifique el archivo package.json
en la clave scripts con los scripts a ejecutar con el despliegue (i) para la generación de la base de datos y (ii) iniciar la aplicación en el servidor
...
"scripts": {
"packages:install": "npm install sequelize pg && npm install --save-dev sequelize-cli",
"db:reset": "npx sequelize-cli db:drop && npx sequelize-cli db:create && npx sequelize-cli db:migrate && npx sequelize-cli db:seed:all",
"start": "npm run packages:install && npm run db:reset && node ./bin/www"
...
}
...
Guarde los cambios en el repositorio local y remoto.
Cree y configure un nuevo proyecto a partir de un repositorio de Github, de acuerdo con las instrucciones de Railway - Sitio Estático.
En la opción Variables
configure la variable de NODE_ENV
con el valor production
.
https://<NOMBRE_REPOSITORIO>-production.up.railway.app/rest/<NOMBRE_CLASE>/findAll/json
View Logs > Deploy Logs
e identifique la ejecución del script: db:reset