PostgreSQL 함수 lower()를 사용하여 기능 색인을 만들려고합니다. 나는 테이블을 만들 수 증류기를 사용하는 경우이 오류가 발생합니다 :Flask-SQLAlchemy : 함수 색인 만들기
sqlalchemy.exc.ProgrammingError: (ProgrammingError) column "lower" does not exist
'CREATE INDEX ix_cities_name ON cities (lower)' {}
여기에 코드입니다 :
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
app = Flask(__name__)
db = SQLAlchemy(app)
class City(db.Model):
__tablename__ = 'cities'
name = db.Column(db.String(100), nullable=False)
db.Index('ix_cities_name', db.func.lower(db.metadata.tables['cities'].c.name))
이러한 ORM은 기본 SQL 기능 만 이해합니다. 색인 용어를 SQL 텍스트로 수동 작성해야하는 경우에는 놀라지 않을 것입니다. –
http://docs.sqlalchemy.org/en/rel_0_8/core/constraints.html#functional-indexes에 따르면 작동해야하지만 위의 오류가 발생합니다. – user3362454