PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

SQLAlchemy create_all() не създава таблици

Трябва да поставите своя моделен клас преди create_all() обадете се така:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)

app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql+psycopg2://login:[email protected]/flask_app'
db = SQLAlchemy(app)

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True)
    email = db.Column(db.String(120), unique=True)

    def __init__(self, username, email):
        self.username = username
        self.email = email

    def __repr__(self):
        return '<User %r>' % self.username

db.create_all()
db.session.commit()

admin = User('admin', '[email protected]')
guest = User('guest', '[email protected]')
db.session.add(admin)
db.session.add(guest)
db.session.commit()
users = User.query.all()
print users

Ако вашите модели са декларирани в отделен модул, импортирайте ги, преди да извикате create_all() .

Да речем, User моделът е във файл, наречен models.py ,

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)

app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql+psycopg2://login:[email protected]/flask_app'
db = SQLAlchemy(app)

# See important note below
from models import User

db.create_all()
db.session.commit()

admin = User('admin', '[email protected]')
guest = User('guest', '[email protected]')
db.session.add(admin)
db.session.add(guest)
db.session.commit()
users = User.query.all()
print users

Важна забележка: Важно е да импортирате вашите модели след инициализиране на db обект, тъй като във вашия models.py _вие също трябва да импортирате db обект от този модул.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Контролен списък за съответствие с SOx за PostgreSQL

  2. NOT IN в postgresql не работи

  3. Архивиране и възстановяване на PostgreSQL 9.0

  4. Как да възстановим PostgreSQL дъмп файл в Postgres бази данни?

  5. Инсталирайте pdo за postgres Ubuntu