Parse Server работает с postgres Ошибка разбора: ошибка: столбец "_rperm" не существует - PullRequest
1 голос
/ 02 октября 2019

Я настроил сервер разбора для подключения в базе данных postgres. databaseURI: 'postgres: // postgres: mypassoword @ localhost: 5432 / fantasy'. После этого я запустил сервер с: nodejs index.js.

Служба запустилась нормально, однако, когда я пытаюсь позвонить своему API, я получаю следующую ошибку в / var / log /postgresql / postgresql-9.6-main.log

postgres @ fantasy ОШИБКА: столбец "_rperm" не существует в символе 30 2019-10-01 21: 44: 47.468 -03 [10895] postgres @ЗАЯВЛЕНИЕ ФАНТАЗИИ: ВЫБЕРИТЕ * ИЗ "jogos" ГДЕ ("_rperm" НЕДЕЙСТВИТЕЛЕН ИЛИ "_rperm" && ARRAY ['', '']) LIMIT 100

Журналы вСервер синтаксического анализа (версия:):

ошибка: ошибка синтаксического анализа: ошибка: столбец "_rperm" не существует {"код": 1, "стек": "ошибка: ошибка: столбец \"_rperm \ "не существует \ n
в /root/parse-server-example/node_modules/parse-server/lib/Controllers/DatabaseController.js:1179:21\n в processTicksAndRejected: 93: 5) "}

Я использую текущую версию сервера разбора версии 3.9.0.

Любая помощь будет оценена.

1 Ответ

2 голосов
/ 11 октября 2019

Следуя советам @ DaviMacêdo, я смог решить свою проблему, создав объекты / таблицы непосредственно через панель анализа Parse.

Сначала я должен создать самозаверяющие сертификаты:

$ openssl req -newkey rsa:2048 -new -nodes -keyout key.pem -out csr.pem
$ openssl x509 -req -days 365 -in csr.pem -signkey key.pem -out server.crt

Затем я создал скрипт узла для инициализации как сервера разбора, так и панели разбора. file: dashboard.js:

var fs = require('fs');
var http = require('http');
var https = require('https');
var express = require('express');
var ParseServer = require('parse-server').ParseServer;
var ParseDashboard = require('parse-dashboard');
var app = express();
var port = 1337;

var options = {
    key: fs.readFileSync('./key.pem', 'utf8'),
    cert: fs.readFileSync('./server.crt', 'utf8'),
};

var parse = new ParseServer({
    databaseURI: 'postgres://postgres:dbpassword@localhost:5432/fantasy',
    appId: 'fantasy',
    masterKey: 'MyPa$$word',
    serverURL: 'http://localhost:1337/parse' 
});

var dashboard = new ParseDashboard({
    "apps": [{
        "serverURL": "https://myserver:1337/parse",
        "appId": "fantasy",
        "masterKey": "MyPa$$word",
        "appName": "Fantasy"
    }],
    "users": [{
        "user": "admin",
        "pass": "MyPa$$word"
    }]
});

app.use('/parse', parse);
app.use('/dashboard', dashboard);

var server = https.createServer(options, app).listen(port, function() {
    console.log("server listening on port " + port);
});

Чтобы запустить сервер синтаксического анализа и анализ панели мониторинга:

$ node dashboard.js &

...