Как зарегистрировать динамически созданные таблицы в метаданных - PullRequest
0 голосов
/ 23 мая 2019

У меня есть база данных sqlite позади моего приложения фляги, в которой я загружаю таблицы из файлов CSV, используя функцию pandas to_sql.Все таблицы правильно загружены в мою базу данных, но не зарегистрированы в объекте метаданных.Я хочу использовать свойства метаданных моего движка sql lite для анализа данных, которые находятся в таблицах на других страницах приложения колбы.Кроме того, при изменении чего-либо в моей схеме базы данных все загруженные таблицы удаляются.

Загруженные таблицы отображаются в браузере БД для SQLite, но недоступны при вызове объекта метаданных.

Файлы загружаются с использованием

@login_required
def upload():
    form = UploadFileForm()
    if form.validate_on_submit():
        #upload dataset
        df = read_csv(form.dataset.data)

        df.to_sql(con=db.engine, index_label='id', name=str(current_user.id) + "-" + str(form.data_name.data), if_exists='replace', index = False)
return redirect(url_for('main.index'))

    return(render_template('upload.html', form=form))

Используемая форма:

    dataset = FileField(validators=[FileRequired(), FileAllowed(['csv'],'Alleen CSV bestanden')])
    data_name = StringField(_l('Naam van de dataset'), validators=[DataRequired()])
    submit = SubmitField(_l('Upload bestand'))

Я ожидаю, что вывод db.metadata.tables будет содержать таблицы, которые находятся вmodels.py и таблицы, созданные путем загрузки.На данный момент я вижу только таблицы, которые находятся в models.py

Я надеюсь, что кто-то может помочь:)

...