更改数据
from playhouse.migrate import *
# SQLite example: my_db = SqliteDatabase('my_database.db') migrator = SqliteMigrator(my_db)
# 使用migrate()执行一个或多个操作 # 添加了两个列,删除一个列 title_field = CharField(default='') status_field = IntegerField(null=True) migrate( migrator.add_column('some_table', 'title', title_field), migrator.add_column('some_table', 'status', status_field), migrator.drop_column('some_table', 'old_column'), )
更多实例
pubdate_field = DateTimeField(null=True) comment_field = TextField(default='') migrate( # 添加:指定表名,列名,表定义 migrator.add_column('table_name', 'pub_date', pubdate_field), migrator.add_column('table_name', 'comment', comment_field), # 删除: 指定表名,列名 migrator.drop_column('story', 'some_old_field'), # 重命名列:指定表名,列名,新列名 migrator.rename_column('story', 'mod_date', 'modified_date'), # 设置允许空或不允许空:表名,列名 migrator.drop_not_null('story', 'pub_date'), # 允许为空 migrator.add_not_null('story', 'modified_date'), # 非空 # 重命名表:指定表名,新表名 migrator.rename_table('story', 'stories_tbl'), # 添加索引:表名,列名(集合),是否唯一 migrator.add_index('story', ('pub_date',), False), # 添加pub_date列索引,不唯一 migrator.add_index('story', ('category_id', 'title'), True), # 添加category_id, title 索引, 唯一 # 删除索引: 表明,列名 migrator.drop_index('story', 'story_pub_date_status') )
更多实例参见官网:http://docs.peewee-orm.com/en/latest/peewee/playhouse.html?highlight=migrate#example-usage
from playhouse.migrate import *
|