Циркуляр в той же сборке плохая вещь?

У вас слишком много / в базе данных uri. Формат dialect+driver://user:pass@host:port/db_name. С SQLite db_name - это путь к базе данных. Вы указали абсолютный путь /database.db, что означает, что вы пытаетесь создать базу данных в корневом каталоге файловой системы.

Использование sqlite:///database.db (относительный путь) создаст базу данных в (относительной to) текущего рабочего каталога.

Вероятно, вы хотите указать абсолютный путь, но постройте его на основе местоположения проекта, так как вы можете запустить приложение из другой папки. Предполагая, что вы хотите создать db в том же каталоге, что и код установки приложения, создайте путь относительно __file__.

db_path = os.path.join(os.path.dirname(__file__), 'app.db')
db_uri = 'sqlite:///{}'.format(db_path)
app.config['SQLALCHEMY_DATABASE_URI'] = db_uri
13
задан Community 23 May 2017 в 22:33
поделиться