我有一個存儲在.sql文件中的PostgreSQL模式。它看起來像這樣:在Python中執行psycopg2中的.sql模式
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY,
facebook_id TEXT NOT NULL,
name TEXT NOT NULL,
access_token TEXT,
created INTEGER NOT NULL
);
如何在連接到數據庫後運行該模式?
我現有的Python代碼適用於SQLite數據庫:
# Create database connection
self.connection = sqlite3.connect("example.db")
# Run database schema
with self.connection as cursor:
cursor.executescript(open("schema.sql", "r").read())
但psycopg2沒有光標的executescript
方法。那麼,我怎麼能做到這一點?
謝謝!它的工作原理 – linkyndy
Craig,psql在提供多語句字符串時做了什麼?它有它自己的解析器來檢測何時;是語句分隔符還是字符串/註釋的一部分? – piro
@piro:是的,'psql'可以使用'-f'開關解析完整的SQL文件。從'psql --help'輸出:'-f,--file = FILENAME從文件執行命令,然後退出'。 –