Вставка тестовых данных вручную для модели наследования объединенной таблицы

FTP (S) использует случайные порты для настройки соединений данных ; частота прерывистого успеха указывает, что не все порты разрешены брандмауэром на клиентских и / или серверных машинах. Диапазон портов для входящих (PASV) соединений данных может быть установлен на FTP-сервере.

Эта страница имеет приятное резюме:

простой способ - просто разрешить FTP-серверам и клиентам неограниченный доступ через ваш брандмауэр, но если вы хотите ограничить их доступ к «известным» портам, вам нужно понять 4 разных сценария.

1) FTP серверу должно быть разрешено принимать TCP-соединения к порту 21 и устанавливать TCP-соединения из порта 20 в любой (удаленный эфемерный) порт.

2) FTP-серверу разрешено принимать TCP-соединения к порту 21 , AND также принимать TCP-соединения с любым эфемерным портом!

3) FTP-клиенту должно быть разрешено подключать TCP к порту 21 и принимать TCP-соединения из порта 20 в любой эфемерный порт.

4) FTP-клиенту должно быть разрешено подключать TCP к порту 21, а также устанавливать TCP-соединения на любой другой (удаленный эфемерный) порт!

blockquote>

1
задан SuperShoot 17 January 2019 в 11:38
поделиться

1 ответ

Благодаря объединенному наследованию таблиц SQLA прекрасно справляется с задачей, позволяя вам забыть о том, что используются даже две таблицы.

Ваша тестовая установка не вставляет никаких данных в tracker_locations, как было бы в случае, если вы создали экземпляр экземпляра Riders и вставили данные через ORM.

Вот часть соединения запроса, который генерирует SQLA:

FROM tracker_locations JOIN riders ON tracker_locations.id = riders.id

В тестируемом наборе данных нет строки в tracker_locations, поэтому условие соединения tracker_locations.id = riders.id не оценивает верно.

Итак, если вы также включите некоторые тестовые данные в таблицу tracker_locations, они будут работать:

tracker_locations_test_data = {'id': 1, 'type': 'riders'}
self.cur.execute(
    'INSERT INTO tracker_locations VALUES (?,?)', 
    tuple(tracker_locations_test_data.values()))
0
ответ дан SuperShoot 17 January 2019 в 11:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: