Я работаю над некоторыми тестами с помощью pg-promise
, связанных с отбрасыванием таблицы и воссозданием таблицы.travis-ci postgres `SELECT EXISTS` query return different result
Все тесты проходят на моей локальной машине. Но на travis-ci
, кажется, skipp все DROP TABLE ...
SQL, в результате тесты терпят неудачу.
У кого-нибудь есть идеи, почему? Это вопрос разрешения?
Есть ли способ для дальнейшего отладки, например, подключиться к travis-ci
postgres sever?
Обновление: Я не делал никакого кода, потому что все тесты проходят на моем локальном env, поэтому я думал, что это всего лишь вопрос travis-ci
. Ниже приведен бит, который, я думаю, пропускает traivs-ci
.
afterEach('cleanup tables', (done) => {
db.none('DROP TABLE $1~', 'syncTest')
.then(done)
.catch(() => done());
});
beforeEach('cleanup tables', (done) => {
db.none('DROP TABLE $1~', 'syncTest')
.then(done)
.catch(() => done());
});
Update2: После некоторых дальнейших испытаний, выясняется, что испытания не было, потому что
db.one('SELECT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name=$1)', [tableName])
не возвращал ожидаемую величину. Запрос возвращает { '?column?': false }
на travis, но возвращает { exists: false }
на моем местном env.
Это travis-ci
вопрос? или выпуск версии postgres?
Один обычно включает в себя некоторый код для этого;) –
@ Vitaly-т я добавил код, который может иметь отношение. – xiaofan2406
@ vitaly-t вот репо, если у вас больше времени для расследования. https://github.com/xiaofan2406/pglize – xiaofan2406