3 / 1 / 2
Регистрация: 18.04.2017
Сообщений: 20

SQLAlchemy не могу сменить провайдера для БД

09.01.2021, 20:26. Показов 5308. Ответов 4

Студворк — интернет-сервис помощи студентам
Здравствуйте, вроде все делаю правильно, но никак не получается сменить провайдера
Файл config.py. Настройку пописал что использовать mysql в связке с pymysql
Python
1
2
3
4
class Configuration(object):
    DEBUG = True
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    SQLALCHEMY_DATABASE_URI = "mysql+pymysql://root:1111@localhost/test1"
Считал конфигурационный файл и здесь же создаю экземпляр SQLAlchemy
Python
1
2
3
4
5
 
app = Flask(__name__)
app.config.from_object(Configuration)
 
db = SQLAlchemy(app)
Вот моя модель БД
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from app import db
from datetime import datetime
import re
 
 
def slugify(s):
    pattern = r"[^\w+]"
    return re.sub(pattern, "-", s)
 
 
class Post(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(140))
    slug = db.Column(db.String(140), unique=True)
    body = db.Column(db.Text)
    created = db.Column(db.DateTime, default=datetime.now())
 
    def __init__(self, *args, **kwargs):
        super(Post, self).__init__(*args, **kwargs)
        self.generate_slug()
 
    def generate_slug(self):
        if self.title:
            self.slug = slugify(self.title)
 
    def __repr__(self):
        return "<Post id: {0}, title: {1}>".format(self.id, self.title)
Перехожу в командную строку и проверяю
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
>>> import models
E:\PYTHON\Flask\Two\venv\lib\site-packages\flask_sqlalchemy\__init__.py:813: UserWarning: Neither SQLALCHEMY_DATABASE_URI nor SQLALCHEMY_BINDS is set. Defaulting SQLALCHEMY_DATABASE_URI to "sqlite:///:memory:".
  'Neither SQLALCHEMY_DATABASE_URI nor SQLALCHEMY_BINDS is set. '
>>> from app import db
>>> db.create_all()
>>> from models import Post
>>> p = Post(title="123", body="sdfvdv")
>>> p
<Post id: None, title: 123>
>>> db.session.add(p)
>>> db.session.commit()
>>> Post.query.all()
[<Post id: 1, title: 123>]
>>>
Вроде все получилось, но когда хочу просмотреть посты выдает ошибку:
qlalchemy.exc.ProgrammingError: (pymysql.err.ProgrammingError) (1146, "Table 'test1.post' doesn't exist")
[SQL: SELECT post.id AS post_id, post.title AS post_title, post.slug AS post_slug, post.body AS post_body, post.created AS post_created
FROM post]
(Background on this error at: http://sqlalche.me/e/13/f405)
В шеле Mysql проверяю БД (на фото не видно, я перед этим сделал use test1)
Название: 2021.01.09 19-19-07.jpg
Просмотров: 79

Размер: 36.6 Кб
Получается что в посты в ручную вроде добавил, но их нигде нет.
Никак не могу понять почему.
Вот еще такое отрыл когда колупал экземпляр SQLAlchemy
Python
1
2
>>> db.engine.name
'sqlite'
Я так понимаю что почему-то БД с таблицей создается в sqlite.
Но почему? я ведь явно в конфигурационном файле прописал что использовать.
Помогите разобраться пожалуйста
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.01.2021, 20:26
Ответы с готовыми решениями:

Как сменить провайдера для вайфая ?
Доброго времени суток, от старого провайдера есть модем с вайфаем, можно ли сделать так, чтобы вайфай был не от старого провайдера, а от...

Как сменить провайдера для авторизации в приложении Silverlight?
Уважаемые Гуру! Использовал mysql провайдера в silverlight приложении. Подскажите, как можно изменить провайдера в службе авторизации с...

Как сменить провайдера по времени
Привет. У меня есть торговый робот для Forex и я его включаю на сутки, чтобы он торговал. Дело в том, что я использую два разных...

4
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
10.01.2021, 11:35
А миграции ты сделал?
0
3 / 1 / 2
Регистрация: 18.04.2017
Сообщений: 20
10.01.2021, 18:09  [ТС]
m0nte-cr1st0, Кажется что нет. Какие миграции? Можете натолкнуть на правильное направление, что гуглить?
0
3 / 1 / 2
Регистрация: 18.04.2017
Сообщений: 20
10.01.2021, 21:21  [ТС]
Вопрос можно считать закрытым.
На второй день (тоесть после перезагрузки компа) ошибка ДБ сменилась на:
Authentication plugin 'caching_sha2_password' is not supported
Вчера такой ошибки не было.
Я переконфигурировал MySQL

После этого все работает так как и предполагалось и в моем коде нет ошибки. Все БД и таблици и записи создаются исправно, и теперь все соответствует моим ожиданиям:

Python
1
2
3
4
>>> db.engine
Engine(mysql+mysqlconnector://root:***@localhost:3306/test1?charset=utf8)
>>> db.metadata.tables.keys()
dict_keys(['post'])
Решение -> Переконфигурировать БД как на скрине.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
18.01.2021, 20:22
Цитата Сообщение от Nick93 Посмотреть сообщение
Решение -> Переконфигурировать БД как на скрине.
Решение-> пользоваться оригинальной MySQL (MariaDB), а не под(д)елкой от Oracle.
На лиунксах, кстати, никакие мускули от Oracle не стоят - только MariaDB.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.01.2021, 20:22
Помогаю со студенческими работами здесь

Не могу установить sqlalchemy
Доброго времени суток! Для некоторых задач мне требуется установить sqlalchemy, но все заканчивается ошибкой. ОС oracle linux server 7,...

НЕ МОГУ зайти на сайт провайдера
не могу зайти на сайт провайдера из-за вируса,меня тупо перекидывает в яндекс!!!!!!(((((на все остальные сайты заходит норм(как его...

Не могу выйти из локальной сети провайдера
Привет. Опишу все ситуацию как было, может это поможет. Собственно пару часов назад я заметил, что мой планшет сам по себе выключился,...

Не могу продумать логическую модель интернет-провайдера
Учет интернет трафика в провайдерской компании. Есть база клиентов, которые пользуются интернет услугами: коммутируемый интернет, ADSL,...

Не могу настроить. Шлюз провайдера unreachable настройки по dhcp
Подключаю к обычному роутеру все работает к mikrotik rb 750gr3 не работает вот снимок роутинга


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru