提供一种在多个数据库的迁移中运行原始SQL的方法

django-migrations-plus的Python项目详细描述


migrations plus提供了一种在具有多个数据库连接的django迁移中运行原始sql的方法。

安装

使用pip:

$ pip install django-migrations-plus

API

RunSQL(sql, reverse_sql=None, state_operations=None, db='default')

允许在数据库上运行任意SQL—对于Django不直接支持的数据库后端(如部分索引)的更高级功能非常有用。

sql和reverse_sql(如果提供)应该是要在数据库上运行的sql字符串。在大多数数据库后端(除了postgresql之外),django会在执行之前将sql拆分成单独的语句。这需要安装sqlparse python库。

state_operations参数用于提供与sql在项目状态方面等效的操作;例如,如果手动创建列,则应在此处传入包含addfield操作的列表,以便autodetector仍然具有模型的最新状态(否则,下次运行makemigrations时,它将看不到任何添加该字段的操作,因此将尝试再次运行该字段)。

db应该是一个字符串,其中包含要在其上运行sql的设置中的连接名称。

示例

fromdjango.dbimportmigrationsimportmigrations_plusclassMigration(migrations.Migration):operations=[migrations_plus.RunSQL('DROP TABLE Students;')# Runs only against connection 'default'migrations_plus.RunSQL('DROP TABLE OtherStudents;',db='other')# Runs only against connection 'other']

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将cassandra中的行数据转换为与列相关的嵌套json   java如何使用jcr XPath在jcr:content/@jcr:data中搜索?   java在使用openCV进行安卓开发时如何利用手机的广角镜头   java解析扩展了接口,结束了一个潜在的无限循环   位置服务的@Override方法中存在java Android应用程序错误   java本地线程的用途和需求是什么   具有左右子访问的java节点树遍历   java验证JsonWebToken签名   JUL日志处理程序中的java日志记录   嵌入式Java读取给定时间段的串行数据。   java有没有办法从多个URL获取多个图像?   java线程通过等待intent阻止自己发送intent   java Spring MVC解析多部分内容请求   java JPA/Hibernate静态元模型属性未填充NullPointerException   java格式错误的字符(需要引号,得到I)~正在处理   java为什么PrintWriter对象抛出FileNotFoundException?   java Neo4j未正确保存标签   java IE不加载图像