1
Heroku CLIで実行したいスクリプトがあります。これは、Sequelizeを使用してpostgressqlデータベースにユーザーを作成する単純なスクリプトです。 これはスクリプトです:私はローカルでこのコマンドを実行する場合Heroku CLIからスクリプトを実行する
const argv = require('yargs').argv;
const Sequelize = require('sequelize');
const sqlizr = require('sqlizr');
require('dotenv').load();
// Check params
if (!argv.username) { throw new Error('username is required!'); }
if (!argv.password) { throw new Error('password is required!'); }
if (!argv.clientId) { throw new Error('client id is required!'); }
// Init db connection
const sequelize = new Sequelize(
process.env.DB_DATABASE,
process.env.DB_USER,
process.env.DB_PASS,
{
host: process.env.DB_HOST,
port: 5432,
dialect: 'postgres',
logging: false
}
)
var client_id = argv.clientId;
if(argv.clientId === -1){
client_id = 0;
}
console.log(sequelize)
sqlizr(sequelize, 'api/models/**/*.js');
// Check if user exists
console.log('Check is user exists...');
sequelize.models.USERS.count({
where: {
USERNAME: argv.username
}
})
.then(result => {
if (result > 0) {
console.error('user already exists!');
process.exit(1);
}
})
.then(() => {
console.log('Creating user...');
sequelize.models.USERS.create({
USERNAME: argv.username,
PASSWORD: argv.password,
CLNT_ID: client_id,
EMAIL: '[email protected]',
PHONE: '123456789'
})
.then(result => {
console.log('User created successfully!');
})
.catch(error => {
console.error('Could not create user!', error);
})
.finally(result => {
process.exit(1);
});
});
すべてがうまくいけ:
node bin/createUser.js --username admin --password admin --clientId -1
しかし、私はこのようなHerokuのCLIを介してこれを実行しよう:
heroku run bin/createUser.js --username admin --password admin --clientId -1
私は端末でこれを入手します:
bin/createUser.js: line 4: syntax error near unexpected token `('
bin/createUser.js: line 4: `const yargs = require('yargs');'
私がここで間違っていることを理解できません。誰かが私を助けて、なぜこれが起こっているのかを説明してくれることを願っています
はい問題だった、ありがとうございました – Roi