如何使用 Python 子进程删除数据库模式?
How to use Python Subprocess to drop a database schema?
我想使用 python 子进程删除数据库 (PostgreSQL) 模式。
我想到了这个:
subprocess.call(['psql', '-U', DB_USER, DB_NAME, 'drop schema', SCHEMA_NAME, 'cascade'])
但它给了我这个错误:
psql:警告:额外的命令行参数 "drop schema" 已忽略
psql:警告:忽略额外的命令行参数 "demo1"
psql:警告:忽略额外的命令行参数 "cascade"
psql 的文档指出该命令是通过 -c 选项作为单个值传递的。以下使用 -d 选项,因为 psql 不允许在位置参数后使用选项以避免重新排序选项。
subprocess.call(['psql', '-U', DB_USER, '-d', DB_NAME,
'-c', ' '.join(['drop schema', SCHEMA_NAME, 'cascade'])])
我想使用 python 子进程删除数据库 (PostgreSQL) 模式。
我想到了这个:
subprocess.call(['psql', '-U', DB_USER, DB_NAME, 'drop schema', SCHEMA_NAME, 'cascade'])
但它给了我这个错误:
psql:警告:额外的命令行参数 "drop schema" 已忽略
psql:警告:忽略额外的命令行参数 "demo1"
psql:警告:忽略额外的命令行参数 "cascade"
psql 的文档指出该命令是通过 -c 选项作为单个值传递的。以下使用 -d 选项,因为 psql 不允许在位置参数后使用选项以避免重新排序选项。
subprocess.call(['psql', '-U', DB_USER, '-d', DB_NAME,
'-c', ' '.join(['drop schema', SCHEMA_NAME, 'cascade'])])