1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Framework\DB\Ddl;
- /**
- * Class Sequence represents DDL for manage sequences
- */
- class Sequence
- {
- /**
- * Return SQL for create sequence
- *
- * @param string $name The name of table in create statement
- * @param int $startNumber The auto increment start number
- * @param string $columnType Type of sequence_value column
- * @param bool|true $unsigned Flag to set sequence_value as UNSIGNED field
- * @return string
- */
- public function getCreateSequenceDdl(
- $name,
- $startNumber = 1,
- $columnType = Table::TYPE_INTEGER,
- $unsigned = true
- ) {
- $format = "CREATE TABLE %s (
- sequence_value %s %s NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (sequence_value)
- ) AUTO_INCREMENT = %d ENGINE = INNODB";
- return sprintf($format, $name, $columnType, $unsigned ? 'UNSIGNED' : '', $startNumber);
- }
- /**
- * Return SQL for drop sequence
- *
- * @param string $name
- * @return string
- */
- public function dropSequence($name)
- {
- $format = "DROP TABLE %s";
- return sprintf($format, $name);
- }
- }
|