pgAdmin не находит записи в таблице пользователей, в то время как SQLAlchemy делает. У меня есть веб-приложение, которое хранит учетные данные пользователя в базе данных AWS postgres. Приложение работает отлично. Выбор * из postgres возвращает имя таблицы, но никаких записей. При подключении через SQLalchemy я получаю ожидаемые результаты.
Впервые на postgres, поэтому я попытался использовать кавычки и несколько других запросов.
Этот запрос дает все таблицы:
SELECT table_name
FROM information_schema.tables
WHERE table_schema='public'
AND table_type='BASE TABLE';
Результаты:
users
post
user
Этот запрос не работает:
SELECT * FROM users;
Результаты:
id | username | email | password
---------------------------------
(Blank)
SQLAlchemy:
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from config import postgresUser, postgresPass
from datetime import datetime
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = "Removed for security"
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(20), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
image_file = db.Column(db.String(20), nullable=False,
default='default.jpg')
password = db.Column(db.String(60), nullable=False)
posts = db.relationship('Post', backref='author', lazy=True)
class Post(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(100), nullable=False)
date_posted = db.Column(db.DateTime, nullable=False,
default=datetime.utcnow)
content = db.Column(db.Text, nullable=False)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'),
nullable=False)
users = User.query.all()
for user in users:
print(user.email) for
Дает ожидаемые результаты:
jimbo@mail.com
jane@mail.com
Я не знаю, почему SQLAchemy может его найти, а pgAdmin - нет. Другие запросы для таблицы сообщений, кажется, работают.
Использование: Flask, SQLAlchemy, AWS postgres. Бег на локальной машине.