【问题标题】:Partitioned MySQL table in DjangoDjango中的分区MySQL表
【发布时间】:2012-11-14 19:39:24
【问题描述】:

是否可以在 Django 中创建分区的 MySQL 表?这方面的任何例子都会很有帮助。

【问题讨论】:

标签: python mysql django django-models


【解决方案1】:

我使用 django 的 sql hook 如下所示:

  1. 用'python manager.py sql'获取django生成的SQL语句
  2. 复制需要修改的表的create and alter table SQL 语句
  3. 您的应用程序下的 mkdir 'sql'
  4. 在 sql 文件夹中创建 .sql 文件
  5. 如下添加 SQL 语句

yourmodelname.sql 文件:

DROP TABLE <table name>;

CREATE TABLE `<table name>` (
      `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
      `testcase_id` integer NOT NULL,
      `databytes` integer NOT NULL,
      `direction` integer NOT NULL,
      `seconds` integer NOT NULL
) PARTITION BY LINEAR KEY (id) PARTITIONS 4;

COMMIT;

【讨论】:

    【解决方案2】:

    您根本不需要涉及 Django。就做table partitioning in plain mysql

    【讨论】:

    • jpic,你的意思是 1. 创建模型 2. python manage.py syncdb 3. 运行alter命令来改变创建的mysql DB?如果是这种情况,那么有没有办法编写一些钩子,每当从模型创建表时,syncdb 将使用该钩子更改表?
    猜你喜欢
    • 2015-01-26
    • 2017-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多