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

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

09.01.2021, 20:26. Показов 5290. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru