我使用以下三个步骤将数据库从sqlite3迁移到postgresql
我使用
创建一个sqlite转储文件sqlite3 app.db .dump> app_dump.sql
我创建了一个postgresql数据库,并将我的models.py文件初始化为
python manage.py db init
其中manage.py是
SQLALCHEMY_DATABASE_URI = 'postgresql+psycopg2://appuser:777@localhost/app_db'
migrate = Migrate(app, db)
manager = Manager(app)
manager.add_command('db', MigrateCommand)
if __name__ == '__main__':
manager.run()
这很好用,但我确实希望在我的用户表中进行嗖嗖搜索。
我的models.py看起来像这样
if sys.version_info >= (3, 0):
enable_search = False
else:
enable_search = True
import flask.ext.whooshalchemy as whooshalchemy
class User(db.Model):
__searchable__ = ['username','id']
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(100), index=True)
if enable_search:
whooshalchemy.whoosh_index(app, User)
然而,搜索似乎根本不起作用。我担心表格没有正确编入索引?谁知道我怎么解决这个问题? 谢谢 卡尔
编辑: 解决了......看看吧 https://gist.github.com/davb5/21fbffd7a7990f5e066c
答案 0 :(得分:1)
默认情况下,flask_whooshalchemy会在sqlalchemy会话提交时为记录编制索引。因此,如果您想索引所有非索引数据,您可以尝试我的名为flask_whooshalchemyplus的fork,请参阅手动索引简介。