为了账号安全,请及时绑定邮箱和手机立即绑定

flask_sqlalchemy 创建数据库里面没有任何数据?

flask_sqlalchemy 创建数据库里面没有任何数据?

Cats萌萌 2019-02-17 02:45:36
本人第一次使用flask_sqlalchemy, 遇到了一点问题, 如下 使用的python版本为3.6, 使用conda作为包管理器, 并且已经成功安装了flask_sqlalchemy等相关依赖包. 项目简单目录如下: app.py db/ models/ __init__.py todo.py routes/ __init__.py todo.py static/ templates/ app.py文件内容如下: # app.py from flask import ( Flask, ) from flask_sqlalchemy import SQLAlchemy import os from utils import random_str app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////' + os.path.join(app.root_path, 'db', 'data.sqlite') app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False app.secret_key = random_str() db = SQLAlchemy(app) # 省略了一些无关代码 models/todo.py 文件如下 # models/todo.py import time from app import db class Todo(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(20)) completed = db.Column(db.Boolean, default=False) ct = db.Column(db.Integer, default=int(time.time())) def __init__(self, form): self.title = form.get('title', '') self.completed = False self.ct = int(time.time()) 操作如下由于我使用的是conda, 我在终端先激活环境, 然后打开 flask shell: # 我的 conda 环境叫 flask $ source activate flask (flask) $ flask shell 显示如下: Python 3.6.8 |Anaconda, Inc.| (default, Dec 29 2018, 19:04:46) [GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin App: app [production] Instance: xxx/instance >>> 然后我在flask shell执行如下命令: >>> from app import db >>> db.create_all() 问题如下:此时查看文件目录发现在models/下面存在data.sqlite文件, 但是该文件里面没有任何内容, 显示大小为0 byte, 以及我使用数据库管理软件查看发现里面没有任何表任何数据, 同时如果我继续执行db.drop_all无法删除该数据库文件. 请问这种情况如何解决, 我谷歌了一下没有找到答案, 望能有前辈指点, 不胜感激.
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 1025 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信