私はこれに頭をぶつけています。過去に SQLAlcemy + URL Dispatch チュートリアルを正常に完了しました。今私が何をしても、sqlite dbファイルへの書き込みの試みはすべて失敗し、スローされます:
OperationalError: (OperationalError) attempt to write a readonly database u'INSERT INTO pages (name, data) VALUES (?, ?)' (u'NewPage', u'A new page is dawning.')
現在の構成のバリエーションは次のとおりです。
- pserve ではなく、mod_wsgi でチュートリアルを実行しています。
- 結果は、pserve での実行と同じです
- このシステムは python 2.6.5 対 2.7.5 を実行しています
データファイルは正常に初期化されます。所有権は、wsgi プロセスの所有者と同じです。私は困惑しています。
ここにmodels.pyがあります:
from sqlalchemy import (
Column,
Index,
Integer,
Text,
)
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import (
scoped_session,
sessionmaker,
)
from zope.sqlalchemy import ZopeTransactionExtension
DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension()))
Base = declarative_base()
class Page(Base):
__tablename__ = 'pages'
id = Column(Integer, primary_key=True)
name = Column(Text, unique=True)
data = Column(Text)
def __init__(self, name, data):
self.name = name
self.data = data
Index('page_index', Page.name, unique=True, mysql_length=255)
チュートリアルからかなり簡単です。
どんな考えでも大歓迎です。