Mam schemat PostgreSQL przechowywany w pliku .sql. Wygląda to tak:Wykonanie schematu .sql w psycopg2 w Pythonie
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
);
Jak uruchomić ten schemat po połączeniu się z bazą danych?
Moje istniejący kod Python działa dla baz danych 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())
Ale psycopg2 nie ma executescript
metodę na kursora. Jak mogę to osiągnąć?
Dziękujemy! Działa – linkyndy
Craig, co robi psql przy podawaniu ciągu wielowyrazowego? Ma własny parser, który wykrywa, kiedy; jest ogranicznikiem instrukcji lub po prostu częścią ciągu/komentarza? – piro
@piro: tak, 'psql' może parsować pełne pliki SQL za pomocą przełącznika' -f'. Z wyjścia 'psql --help':' -f, --file = NAZWA_PLIKU uruchamia polecenia z pliku, a następnie kończy pracę '. –