我目前在运行SQLAlchemy和postgresql时遇到了以下错误
sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedObject) collation "utf8" for encoding "UTF8" does not exist
我在docker-compose.yml
文件中初始化一个Postgres数据库如下:
db:
image: postgres:14-alpine
volumes:
- postgres_data:/var/lib/postgresql/data/
ports:
- 5432:5432
env_file:
- .env
environment:
- POSTGRES_INITDB_ARGS='--lc-collate="en_US.UTF-8" --lc-ctype="en_US.UTF-8"'
但是,我认为在试图迁移模型中的字段时存在不匹配现象,例如:
# Common Name
name = Column(
String(
length=180,
collation="utf8",
convert_unicode=False,
unicode_error=None,
),
index=True,
name="name",
comment="Common or IAU Name",
)
有人能向我解释一下这里出了什么问题,以及一些潜在的解决办法吗?
发布于 2022-04-06 17:19:18
假设你需要校对,你可能想看看这篇文章,它比我解释校对做得更好。
不过,我想你要找的答案是:
name = Column(
String(
length=180,
collation="C.UTF-8",
convert_unicode=False,
unicode_error=None,
),
index=True,
name="name",
comment="Common or IAU Name",
)
https://stackoverflow.com/questions/71770806
复制相似问题