我可以创建分区表,如:
CREATE TABLE person(
id INT NOT NULL,
NAME VARCHAR(30),
borned TIMESTAMP)
PARTITION BY RANGE (UNIX_TIMESTAMP(borned)) (
PARTITION p0 VALUES LESS THAN (UNIX_TIMESTAMP('2000-01-01 00:00:00')),
PARTITION p1 VALUES LESS THAN (MAXVALUE));
Run Code Online (Sandbox Code Playgroud)
使用 liquibase 标签?我的意思不是用习惯<sql>而是用<createTable>
从 1.9 开始:您可以使用modifySql附加到createTable输出
<changeSet author="StackOverflow" id="C0FE77AA-5517-11E7-8CAD-224C16886A7C">
<createTable tableName="test">
<column name="id" type="INT">
<constraints nullable="false"/>
</column>
<column name="NAME" type="VARCHAR(30)"/>
<column name="borned" type="TIMESTAMP"/>
</createTable>
<modifySql dbms="postgresql">
<append value=" PARTITION BY RANGE (UNIX_TIMESTAMP(borned)) (
PARTITION p0 VALUES LESS THAN (UNIX_TIMESTAMP('2000-01-01 00:00:00')),
PARTITION p1 VALUES LESS THAN (MAXVALUE))"/>
</modifySql>
</changeSet>
Run Code Online (Sandbox Code Playgroud)
Liquibase 输出以下 SQL(根据updateSql目标):
CREATE TABLE db.test (id INT NOT NULL, NAME VARCHAR(30) NULL, borned timestamp NULL) PARTITION BY RANGE (UNIX_TIMESTAMP(borned)) ( PARTITION p0 VALUES LESS THAN (UNIX_TIMESTAMP('2000-01-01 00:00:00')), PARTITION p1 VALUES LESS THAN (MAXVALUE));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4358 次 |
| 最近记录: |