数据库
首页 > 数据库> > python-在多个程序之间共享SQLite3数据库

python-在多个程序之间共享SQLite3数据库

作者:互联网

我已经开始使用Flask和Flask-SQLAlchemy构建Web应用程序.我在构建Web应用程序方面的经验非常有限,因此如果我模棱两可,请先向我道歉.

Web应用程序的数据库已经由服务器上运行的另一个程序构建.因此,所有表均已在数据库中预定义.我的网络应用和服务器上运行的其他程序将已读取&对数据库的写访问权限.

最近,我决定重组我的应用程序,以适应类似于Django的model-view-controller模式,并使用蓝图使事情更易于管理和整洁.与此相似https://github.com/mitsuhiko/flask/wiki/Large-app-how-to

...
app_name/
    model.py
    view.py
    controller.py
    __init__.py
...

因此,我已经完成了一些教程并阅读了Flask-SQLAlchemy,但是对我的生命来说,我没有意义的是,如果我的数据库已经由另一个程序预定义了,该如何在应用程序中定义模型?以及如何将SQLAlchemy ORM与预定义的数据库一起使用?

以前,在我决定进行重组之前,我只是使用Pyhton的sqlite3库从数据库中获取内容并将其显示在网页上.这不是很漂亮,我构建事物的方式很快就会变得一发不可收拾.

解决方法:

其他程序是否也使用sqlalchemy,以便您可以提升/共享其模型?
如果没有,您可以尝试反射:http://docs.sqlalchemy.org/en/latest/core/reflection.html
或这个实验性自动贴图:http://docs.sqlalchemy.org/en/latest/orm/extensions/automap.html

您的问题不是这个问题,但是sqlite3是文件数据库,而不是客户端服务器数据库.并不是说您愿意,但是您可能会遇到并发问题:

sqlite3 concurrent access

http://www.sqlite.org/lockingv3.html

操作系统和文件系统在其中起作用.

标签:sqlite,sqlalchemy,flask,flask-sqlalchemy,python
来源: https://codeday.me/bug/20191121/2052774.html