Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 4, 2020 20:47:59

Yaroslam322
Зарегистрирован: 2020-02-24
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Sqlalchemy ошибка no such table

Есть следующий код, который создает БД:

 class ACC_DB():
    def __init__(self):
        self.engine = sqa.create_engine('sqlite:///acc.db')
        self.conn = self.engine.connect()
        self.data = sqa.MetaData(self.engine)
        self.acc_table = sqa.Table('acc', self.data,
                    sqa.Column('id', sqa.Integer(), primary_key=True),
                    sqa.Column('name', sqa.String()),
                    sqa.Column('money', sqa.Integer())
                    )

И код, который с этой БД взаимодействует. Во время начала работы с БД выскакивает ошибка sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: acc. Но при этом файл бд создается. Что я делаю не так?

Офлайн

#2 Апрель 4, 2020 21:13:49

Romissevd
От: Счастье
Зарегистрирован: 2015-03-01
Сообщения: 533
Репутация: +  76  -
Профиль   Отправить e-mail  

Sqlalchemy ошибка no such table

Согласно документации

Далее же мы пошлем базе CREATE TABLE, параметры которого будут взяты из метаданных нашей таблицы. Мы вызовем метод create_all() и передадим ему наш объект engine, который и указывает на базу. Там сначала будет проверено присутствие такой таблицы перед ее созданием, так что можно выполнять это много раз — ничего страшного не случится.
 self.data.create_all(self.engine)

Отредактировано Romissevd (Апрель 4, 2020 21:14:53)

Офлайн

#3 Апрель 5, 2020 01:31:09

Yaroslam322
Зарегистрирован: 2020-02-24
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Sqlalchemy ошибка no such table

Romissevd
Согласно документации
спасибо, надо внимательнее читать документацию )

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version