flask web 开发的新版是用的 fake 来伪造数据,使用 sqlite 的时候是可以的
部署到 heroku 的 Postgres 时候也还成,有错误提示,但是还是成功输入写入了,我去 heroku 网站看数据库文档,发现免费的不支持回滚,我以为是因为这个,但数据伪造成功,我也就没管什么
现在我把同样的代码,部署到 Ubuntu 本地的 mysql,发现提示错误,数据也没有伪造成功 这是错误提示,下面代码已经有错误进行回滚了,不知道为什么还会这样,希望有人可以告知
应该不是因为数据太多吧,才 50 个
This Session's transaction has been rolled back due to a previous exception during flush.
To begin a new transaction with this Session, first issue Session.rollback().
伪造数据的代码
def users(count=50):
fake = Faker('zh_CN')
i = 0
while i < count:
u = User(email=fake.email(),
username=fake.user_name(),
password='password',
confirmed=True,
name=fake.name(),
location=fake.city(),
about_me=fake.text(),
member_since=fake.past_date())
db.session.add(u)
try:
db.session.commit()
i += 1
except IntegrityError:
db.session.rollback()
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.