postgres flask db没有出现在主项目目录pg admin III中,但似乎正在工作

时间:2016-05-30 19:04:29

标签: python postgresql flask flask-sqlalchemy

所以我构建了一个postgres models.py并试图创建下面的测试数据,所有这些都与sqlite一起使用。

basedir = os.getcwd()

app = Flask(__name__)

#...omitted for brevity

app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

app.config['ENV_DB_CONNECTION_DSN'] = 'postgres:///Ocean.db'

db = SQLAlchemy(app)

db.create_all()

#testing starts below this

camelot = Entity(level='Province', name='Camelot',iso_code='CAM')

db.session.add(camelot)

lit = Literal_data(ent_id=1, year=2012, value=2, display_name = 'swallow count', meta_id=1)

db.session.add(lit)

swallow = Meta_indicator_data(p_name = 'swallow count',family = 'animal life',num_type = 'interger',provider = 'camelot bird comission',p_description = 'swallows. duh.')

db.session.add(swallow)

db.session.commit()

以上工作正常,我甚至可以用db.engine.execute查询数据库('select * from ent')

唯一的问题是我无法在任何地方找到db文件,包括psgadmin III!

有关如何打印db文件名的任何想法?如果没有db文件,上面的运行可以没有错误吗?

1 个答案:

答案 0 :(得分:1)

基本上我的配置只是糟透了我想,已经有一段时间了,因为我正在处理这个问题。当前代码读取

app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
try:
    app.config['SQLALCHEMY_DATABASE_URI'] = os.environ['DATABASE_URL']
except KeyError:
    raise Exception('I dont see a database connection in the Database URL system variablbe - see the read me on setting this up')

其中:

database_url = postgresql://$user:$password@localhost:5432/$databasename