diff --git a/collect-currency/main.js b/collect-currency/main.js index af828f5..950dc46 100644 --- a/collect-currency/main.js +++ b/collect-currency/main.js @@ -6,6 +6,8 @@ const save_fiat = require('./save_fiat'); const save_crypto = require('./save_crypto'); async function main() { + await require('../shared/database/src/create_table')(); + const config_schedule = config['currency']['collecting']['schedule']; if (!config_schedule) throw new Error('The crontab schedule is not set'); if (!cron.isValidCron(config_schedule, { alias: true })) diff --git a/server/main.js b/server/main.js index 717de6e..1d96bbc 100644 --- a/server/main.js +++ b/server/main.js @@ -2,6 +2,8 @@ const logger = require('../shared/logger/src/main.js'); const config = require('../shared/config/src/main.js')(); const fs = require('fs'); +require('../shared/database/src/create_table.js')(); + const fastify = require('fastify')({ logger: config['server']['log']['print'] ? logger : false, ...(config['server']['ssl']['work'] diff --git a/shared/database/src/create_table.js b/shared/database/src/create_table.js new file mode 100644 index 0000000..c9b0280 --- /dev/null +++ b/shared/database/src/create_table.js @@ -0,0 +1,14 @@ +const fs = require('fs'); +const pool = require('./postgresql.js'); + +async function create_table() { + const schema = fs.readFileSync('../shared/database/data/schema.sql', 'utf8'); + + for (let i = 0; i < schema.split(';').length; i++) { + try { + await pool.query(schema.split(';')[i]); + } catch (err) { continue } + } +} + +module.exports = create_table; \ No newline at end of file