Форум программистов, компьютерный форум, киберфорум
Python: Flask
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/25: Рейтинг темы: голосов - 25, средняя оценка - 4.64
3 / 1 / 2
Регистрация: 18.04.2017
Сообщений: 20

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

09.01.2021, 20:26. Показов 5345. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru