public function up(MetadataInterface $schema)
 {
     $create_repositories = new CreateTable('repository');
     $create_repositories->addColumn(new Integer('id'));
     $create_repositories->addConstraint(new PrimaryKey('id'));
     $create_repositories->addColumn(new Varchar('url', 128));
     $this->addSql($create_repositories->getSqlString($this->adapter->getPlatform()));
 }
 /**
  * @param  null|PlatformInterface $platform
  * @return string
  */
 public function getSqlString(PlatformInterface $platform = null)
 {
     // localize variables
     foreach (get_object_vars($this->createTable) as $name => $value) {
         $this->{$name} = $value;
     }
     return parent::getSqlString($platform);
 }
 public function up(MetadataInterface $schema)
 {
     $create_test = new CreateTable('test');
     $create_test->addColumn(new Integer('a'));
     $sql = $create_test->getSqlString($this->adapter->getPlatform());
     // attempt to drop a non-existing table on second statement
     $drop_fake = new DropTable('fake');
     $sql .= '; ' . $drop_fake->getSqlString($this->adapter->getPlatform());
     // execute multi-statement sql
     $this->addSql($sql);
 }
 public function up(MetadataInterface $schema)
 {
     $create_commit = new CreateTable('commit');
     $create_commit->addColumn(new Integer('commit_id'));
     $create_commit->addConstraint(new PrimaryKey('commit_id'));
     $create_commit->addColumn(new Integer('repository_id'));
     $create_commit->addConstraint(new ForeignKey('fk_repository', 'repository_id', 'repository', 'id'));
     $create_commit->addColumn(new Varchar('commit_hash', 40));
     $create_commit->addColumn(new Datetime('commit_date'));
     $create_commit->addColumn(new Varchar('commit_author', 48, true));
     $create_commit->addColumn(new Text('commit_message'));
     $this->addSql($create_commit->getSqlString($this->adapter->getPlatform()));
     $create_commit_file_status = new CreateTable('commit_file_status');
     $create_commit_file_status->addColumn(new Integer('commit_file_status_id'));
     $create_commit_file_status->addConstraint(new Primarykey('commit_file_status_id'));
     $create_commit_file_status->addColumn(new Integer('commit_id'));
     $create_commit_file_status->addConstraint(new ForeignKey('fk_commit', 'commit_id', 'commit', 'commit_id'));
     $create_commit_file_status->addColumn(new Char('status', 1));
     $create_commit_file_status->addColumn(new Varchar('name', 512));
     $this->addSql($create_commit_file_status->getSqlString($this->adapter->getPlatform()));
 }
Example #5
0
 /**
  * @covers Zend\Db\Sql\Ddl\CreateTable::getSqlString
  */
 public function testGetSqlString()
 {
     $ct = new CreateTable('foo');
     $this->assertEquals("CREATE TABLE \"foo\" (\n)", $ct->getSqlString());
     $ct = new CreateTable('foo', true);
     $this->assertEquals("CREATE TEMPORARY TABLE \"foo\" (\n)", $ct->getSqlString());
     $ct = new CreateTable('foo');
     $ct->addColumn(new Column('bar'));
     $this->assertEquals("CREATE TABLE \"foo\" (\n    \"bar\" INTEGER NOT NULL\n)", $ct->getSqlString());
     $ct = new CreateTable('foo', true);
     $ct->addColumn(new Column('bar'));
     $this->assertEquals("CREATE TEMPORARY TABLE \"foo\" (\n    \"bar\" INTEGER NOT NULL\n)", $ct->getSqlString());
 }
 public function up(MetadataInterface $schema)
 {
     $create_test = new CreateTable('test');
     $create_test->addColumn(new Integer('a'));
     $this->addSql($create_test->getSqlString($this->adapter->getPlatform()));
 }
 /**
  * @param StreamName $streamName
  * @param array $metadata
  * @param bool $returnSql
  * @return string|null Whether $returnSql is true or not function will return generated sql or execute it directly
  */
 public function createSchemaFor(StreamName $streamName, array $metadata = array(), $returnSql = false)
 {
     $createTable = new CreateTable($this->getTable($streamName));
     $createTable->addColumn(new Varchar('event_id', 100))->addColumn(new Integer('version'))->addColumn(new Varchar('event_name', 100))->addColumn(new Varchar('event_class', 100))->addColumn(new Text('payload'))->addColumn(new Varchar('created_at', 50));
     foreach ($metadata as $key => $value) {
         $createTable->addColumn(new Varchar($key, 100));
     }
     $createTable->addConstraint(new PrimaryKey('event_id'));
     if ($returnSql) {
         return $createTable->getSqlString($this->dbAdapter->getPlatform());
     }
     $this->dbAdapter->getDriver()->getConnection()->execute($createTable->getSqlString($this->dbAdapter->getPlatform()));
 }
Example #8
0
<?php

/**
 * Created by PhpStorm.
 * User: Glenn
 * Date: 2016-04-21
 * Time: 1:50 PM
 */
use Zend\Db\Sql\Ddl\CreateTable;
use Zend\Db\Sql\Ddl\Column;
use Zend\Db\Sql\Ddl\Constraint;
use Zend\Db\Sql\Ddl\DropTable;
require "./vendor/autoload.php";
$container = array();
include "./config/db.env.php";
$adapter = new \Zend\Db\Adapter\Adapter($container['settings']['db']);
$adapter->query("DROP TABLE IF EXISTS `users`", $adapter::QUERY_MODE_EXECUTE);
$table = new CreateTable('users');
$idColumn = new Column\Integer('id', false, NULL, array('autoincrement' => true));
$table->addColumn($idColumn);
$table->addColumn(new Column\Varchar('name', 255));
$table->addColumn(new Column\Varchar('username', 255));
$table->addColumn(new Column\Varchar('password', 255));
$table->addColumn(new Column\Varchar('email', 255));
$table->addConstraint(new Constraint\PrimaryKey('id'));
$adapter->query($table->getSqlString(new Zend\Db\Adapter\Platform\Mysql()), $adapter::QUERY_MODE_EXECUTE);
$adapter->query("ALTER TABLE `users` MODIFY COLUMN id INT auto_increment", $adapter::QUERY_MODE_EXECUTE);