[英]How do I create a table in PostgreSQL with SQLAlchemy?
我試圖在“app”數據庫中創建一個表,但得到這個錯誤:
app=# CREATE TABLE users;
ERROR: syntax error at or near ";"
LINE 1: LINE 1: CREATE TABLE users;
^
這些列是在models.py
中定義的,這就是我不在這里創建它們的原因。
不要在 PostgreSQL 中創建表,SQLAlchemy 會為你創建表(和列)。 您需要做的就是創建數據庫,您已經完成了。 要使用 Flask-SQLAlchemy 創建表:
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String, nullable=False, unique=True)
with app.app_context():
db.create_all()
為了解決這個錯誤(盡管如上所述你不應該這樣做),這是因為那不是一個完整的CREATE TABLE
表達式。 您需要為表指定零個或多個列。
CREATE TABLE my_table ();
在我的情況下忘記導入我的模型類和代碼運行沒有任何錯誤:)。
如果您在交互模式下調用create_all()
請確保您導入特定的模型類。
注意:每次對 Model 類進行更改時,都會重新啟動 ipython。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.