public function testCreateSecondaryIndex()
 {
     $cluster = new \CouchbaseCluster('127.0.0.1');
     $clusterManager = $cluster->manager('Administrator', 'Administrator');
     $clusterManager->createBucket($this->bucket, ['bucketType' => 'couchbase', 'saslPassword' => '', 'flushEnabled' => true]);
     sleep(5);
     /** @var \Ytake\LaravelCouchbase\Database\CouchbaseConnection $connection */
     $connection = $this->databaseManager->connection('couchbase');
     $bucket = $connection->openBucket($this->bucket);
     $bucket->manager()->createN1qlPrimaryIndex();
     sleep(4);
     $output = new \Symfony\Component\Console\Output\BufferedOutput();
     $this->command->run(new \Symfony\Component\Console\Input\ArrayInput(['bucket' => $this->bucket, 'name' => 'testing_gsi', 'fields' => ['params1', 'params2']]), $output);
     $fetch = $output->fetch();
     $this->assertSame("created SECONDARY INDEX [testing_gsi] fields [params1,params2], for [index_testing] bucket.", trim($fetch));
     /** @var \Ytake\LaravelCouchbase\Database\CouchbaseConnection $connection */
     $connection = $this->databaseManager->connection('couchbase');
     $bucket = $connection->openBucket($this->bucket);
     $indexes = $bucket->manager()->listN1qlIndexes();
     foreach ($indexes as $index) {
         if (!$index->isPrimary && $index->keyspace === 'keyspace') {
             $this->assertSame("testing_gsi", $index->name);
             $this->assertInstanceOf('CouchbaseN1qlIndex', $index);
         }
     }
     $bucket->manager()->dropN1qlPrimaryIndex();
     $bucket->manager()->dropN1qlIndex('testing_gsi');
     $clusterManager->removeBucket($this->bucket);
 }
 /**
  * @param MethodInvocation $invocation
  *
  * @return object
  * @throws \Exception
  */
 public function invoke(MethodInvocation $invocation)
 {
     /** @var \Illuminate\Database\ConnectionInterface $database */
     $annotation = $invocation->getMethod()->getAnnotation($this->annotation);
     $connection = $annotation->value;
     $database = self::$databaseManager->connection($connection);
     $database->beginTransaction();
     try {
         $result = $invocation->proceed();
         $database->commit();
     } catch (\Exception $exception) {
         // for default Exception
         if ($exception instanceof QueryException) {
             $database->rollBack();
             throw $exception;
         }
         if ($exception instanceof $annotation->expect) {
             $database->rollBack();
             throw $exception;
         }
         $database->rollBack();
         throw $exception;
     }
     return $result;
 }
 /**
  * Execute the console command
  */
 public function fire()
 {
     /** @var \Illuminate\Database\Connection|CouchbaseConnection $connection */
     $connection = $this->databaseManager->connection($this->option('database'));
     if ($connection instanceof CouchbaseConnection) {
         $bucket = $connection->openBucket($this->argument('bucket'));
         $primary = self::PRIMARY_KEY;
         try {
             $bucket->manager()->createN1qlPrimaryIndex($primary, $this->option('ignore'), $this->option('defer'));
             $this->info("created PRIMARY INDEX [{$primary}] for [{$this->argument('bucket')}] bucket.");
         } catch (\Exception $e) {
             $this->error($e->getMessage());
         }
         foreach ($this->secondaryIndexes as $name => $fields) {
             try {
                 $bucket->manager()->createN1qlIndex($name, $fields, '', $this->option('ignore'), $this->option('defer'));
                 $field = implode(",", $fields);
                 $this->info("created SECONDARY INDEX [{$name}] fields [{$field}], for [{$this->argument('bucket')}] bucket.");
             } catch (\Exception $e) {
                 $this->error($e->getMessage());
             }
         }
     }
     return;
 }
 /**
  * Builder constructor.
  * @param DatabaseManager $databaseManager
  * @param AppConfig $appConfig
  */
 public function __construct(DatabaseManager $databaseManager, AppConfig $appConfig)
 {
     $this->manager = $databaseManager->connection()->getDoctrineSchemaManager();
     $this->appConfig = $appConfig;
     $this->tablePrefix = $databaseManager->connection() - getTablePrefix();
     $this->registerUserTypes();
 }
 /**
  * Register the service provider.
  *
  * @return void
  */
 public function register()
 {
     $this->init();
     $this->app->singleton('Larapress\\Services\\Helpers', function () {
         return new Helpers($this->app['config'], $this->app['translator'], $this->app['view'], $this->app['Larapress\\Interfaces\\MockablyInterface'], $this->app->make('log')->getMonolog(), $this->app['request'], $this->app['session.store'], $this->db->connection($this->defaultDbConnection), $this->app['redirect'], $this->app['Illuminate\\Support\\Facades\\Response'], $this->app['app'], $this->app['Carbon\\Carbon']);
     });
 }
 public function __construct(DatabaseManager $DB, AuthenticationManagementInterface $AuthenticationManager, Translator $Lang)
 {
     $this->DB = $DB;
     $this->AuthenticationManager = $AuthenticationManager;
     /*
     $this->Database = $DB->table('ACCT_Journal_Entry AS je')
     						->join('ACCT_Journal_Voucher AS jv', 'jv.id', '=', 'je.journal_voucher_id')
     						->rightJoin('ACCT_Account AS c', 'je.account_id', '=', 'c.id')
     						->join('ACCT_Account_Type AS at', 'at.id', '=', 'c.account_type_id')
     						->where(function($query)
     		                {
     		                  $query->orWhere('jv.status', '=', 'B');
     		                  $query->orWhereNull('jv.status');
     		                }
     						)
     						->where('c.organization_id', '=', $AuthenticationManager->getCurrentUserOrganizationId())
     						->whereIn('at.pl_bs_category', array('B', 'C'))
     						->whereNull('je.deleted_at')
     						->whereNull('jv.deleted_at');
     */
     $this->Database = $DB->connection($AuthenticationManager->getCurrentUserOrganizationConnection())->table('ACCT_Journal_Entry AS je')->join('ACCT_Journal_Voucher AS jv', 'jv.id', '=', 'je.journal_voucher_id')->rightJoin('ACCT_Account AS c', 'je.account_id', '=', 'c.id')->join('ACCT_Account_Type AS at', 'at.id', '=', 'c.account_type_id')->where('jv.status', '=', 'B')->where('jv.organization_id', '=', $AuthenticationManager->getCurrentUserOrganizationId())->where('c.is_group', '=', 0)->whereIn('at.pl_bs_category', array('B', 'C'))->whereNull('je.deleted_at')->whereNull('jv.deleted_at');
     $this->Database2 = $DB->connection($AuthenticationManager->getCurrentUserOrganizationConnection())->table('ACCT_Account AS c')->join('ACCT_Account_Type AS at', 'at.id', '=', 'c.account_type_id')->where('c.is_group', '=', 1)->where('c.organization_id', '=', $AuthenticationManager->getCurrentUserOrganizationId())->whereIn('at.pl_bs_category', array('B', 'C'))->select(array($DB->raw('0 AS acct_pl_debit'), $DB->raw('0 AS acct_pl_credit'), 'c.id AS acct_pl_account_id', 'c.parent_account_id AS acct_pl_parent_account_id', 'c.key AS acct_pl_account_key', 'c.name AS acct_pl_account_name', 'c.is_group AS acct_pl_is_group', 'c.balance_type AS acct_pl_balance_type', $DB->raw('CASE at.pl_bs_category WHEN "B" THEN "' . $Lang->get('decima-accounting::profit-and-loss.income') . '" ELSE "' . $Lang->get('decima-accounting::profit-and-loss.expenses') . '" END AS acct_pl_pl_bs_category'), $DB->raw('0 AS acct_pl_balance')));
     $this->visibleColumns = array($DB->raw('IFNULL(SUM(je.debit),0) AS acct_pl_debit'), $DB->raw('IFNULL(SUM(je.credit),0) AS acct_pl_credit'), 'c.id AS acct_pl_account_id', 'c.parent_account_id AS acct_pl_parent_account_id', 'c.key AS acct_pl_account_key', 'c.name AS acct_pl_account_name', 'c.is_group AS acct_pl_is_group', 'c.balance_type AS acct_pl_balance_type', $DB->raw('CASE at.pl_bs_category WHEN "B" THEN "' . $Lang->get('decima-accounting::profit-and-loss.income') . '" ELSE "' . $Lang->get('decima-accounting::profit-and-loss.expenses') . '" END AS acct_pl_pl_bs_category'), $DB->raw('0 AS acct_pl_balance'));
     $this->orderBy = array(array('acct_pl_account_key', 'asc'));
 }
 /**
  * @inheritdoc
  */
 public function process(EloquentModel $model, Config $config)
 {
     $schemaManager = $this->databaseManager->connection()->getDoctrineSchemaManager();
     $prefix = $this->databaseManager->connection()->getTablePrefix();
     if (!$schemaManager->tablesExist($prefix . $model->getTableName())) {
         throw new GeneratorException(sprintf('Table %s does not exist', $prefix . $model->getTableName()));
     }
 }
Example #8
0
 /**
  * fire.
  *
  * @method fire
  */
 public function fire()
 {
     $connection = $this->databaseManager->connection();
     $connection->setFetchMode(PDO::FETCH_ASSOC);
     $query = $this->option('command');
     $rows = $connection->select($query);
     $headers = array_keys(Arr::get($rows, 0, []));
     $this->table($headers, $rows);
 }
 /**
  * Return a description for each table.
  *
  * @return \Generator
  */
 public function tables()
 {
     $schema = $this->db->connection()->getDoctrineConnection()->getSchemaManager();
     $tables = $schema->listTableNames();
     foreach ($tables as $table) {
         $columns = $this->describer->describe($table);
         (yield compact('table', 'columns'));
     }
 }
 public function run()
 {
     if ($this->truncate) {
         $this->db->connection()->table($this->getTableName())->truncate();
     }
     foreach ($this->seeds as $seed) {
         $this->getModelInstance()->create($seed);
     }
 }
 /**
  * Execute the console command
  */
 public function fire()
 {
     /** @var \Illuminate\Database\Connection|CouchbaseConnection $connection */
     $connection = $this->databaseManager->connection($this->option('database'));
     if ($connection instanceof CouchbaseConnection) {
         $bucket = $connection->openBucket($this->argument('bucket'));
         $bucket->manager()->dropN1qlPrimaryIndex($this->option('name'), $this->option('ignore'));
         $this->info("dropped PRIMARY INDEX [{$this->option('name')}] for [{$this->argument('bucket')}] bucket.");
     }
     return;
 }
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     $connection = $this->argument('connection');
     $name = $this->database->connection($connection)->getDatabaseName();
     try {
         $this->database->connection($connection)->reconnect();
     } catch (\Exception $e) {
         return $this->error($e->getMessage());
     }
     $this->info(sprintf('Connected with database "%s" through connection "%s"', $name, $connection));
 }
 public function __construct(DatabaseManager $DB, AuthenticationManagementInterface $AuthenticationManager, AccountManagementInterface $AccountManager, Translator $Lang, Carbon $Carbon)
 {
     $this->DB = $DB;
     $this->AccountManager = $AccountManager;
     $this->AuthenticationManager = $AuthenticationManager;
     $this->Carbon = $Carbon;
     $this->Database = $DB->connection($AuthenticationManager->getCurrentUserOrganizationConnection())->table('ACCT_Journal_Entry AS je')->join('ACCT_Journal_Voucher AS jv', 'jv.id', '=', 'je.journal_voucher_id')->join('ACCT_Account AS c', 'je.account_id', '=', 'c.id')->where('jv.organization_id', '=', $AuthenticationManager->getCurrentUserOrganizationId())->where('c.is_group', '=', 0)->whereNull('je.deleted_at')->whereNull('jv.deleted_at')->select(array($DB->raw('IFNULL(SUM(je.debit),0) AS acct_gl_debit'), $DB->raw('IFNULL(SUM(je.credit),0) AS acct_gl_credit'), 'c.id AS acct_gl_account_id', 'c.parent_account_id AS acct_gl_parent_account_id', 'c.key AS acct_gl_account_key', 'c.name AS acct_gl_account_name', 'c.is_group AS acct_gl_is_group', 'c.balance_type AS acct_gl_balance_type', $DB->raw('0 AS acct_gl_total_debit'), $DB->raw('0 AS acct_gl_total_credit'), $DB->raw('0 AS acct_gl_opening_balance'), $DB->raw('0 AS acct_gl_closing_balance'), $DB->raw('\'\' AS acct_gl_voucher_date'), $DB->raw('\'\' AS acct_gl_voucher_type'), $DB->raw('\'\' AS acct_gl_voucher_number')));
     $this->Database2 = $DB->connection($AuthenticationManager->getCurrentUserOrganizationConnection())->table('ACCT_Account AS c')->where('c.is_group', '=', 1)->where('c.organization_id', '=', $AuthenticationManager->getCurrentUserOrganizationId())->select(array($DB->raw('0 AS acct_gl_debit'), $DB->raw('0 AS acct_gl_credit'), 'c.id AS acct_gl_account_id', 'c.parent_account_id AS acct_gl_parent_account_id', 'c.key AS acct_gl_account_key', 'c.name AS acct_gl_account_name', 'c.is_group AS acct_gl_is_group', 'c.balance_type AS acct_gl_balance_type', $DB->raw('0 AS acct_gl_total_debit'), $DB->raw('0 AS acct_gl_total_credit'), $DB->raw('0 AS acct_gl_opening_balance'), $DB->raw('0 AS acct_gl_closing_balance'), $DB->raw('\'\' AS acct_gl_voucher_date'), $DB->raw('\'\' AS acct_gl_voucher_type'), $DB->raw('\'\' AS acct_gl_voucher_number')));
     $this->Database3 = $DB->connection($AuthenticationManager->getCurrentUserOrganizationConnection())->table('ACCT_Journal_Entry AS je')->join('ACCT_Journal_Voucher AS jv', 'jv.id', '=', 'je.journal_voucher_id')->join('ACCT_Account AS c', 'je.account_id', '=', 'c.id')->where('jv.organization_id', '=', $AuthenticationManager->getCurrentUserOrganizationId())->where('c.is_group', '=', 0)->whereNull('je.deleted_at')->whereNull('jv.deleted_at')->select(array($DB->raw('0 AS acct_gl_debit'), $DB->raw('0 AS acct_gl_credit'), 'c.id AS acct_gl_account_id', 'c.parent_account_id AS acct_gl_parent_account_id', 'c.key AS acct_gl_account_key', 'c.name AS acct_gl_account_name', 'c.is_group AS acct_gl_is_group', 'c.balance_type AS acct_gl_balance_type', $DB->raw('IFNULL(SUM(je.debit),0) AS acct_gl_total_credit'), $DB->raw('IFNULL(SUM(je.credit),0) AS acct_gl_total_credit'), $DB->raw('0 AS acct_gl_opening_balance'), $DB->raw('0 AS acct_gl_closing_balance'), $DB->raw('\'\' AS acct_gl_voucher_date'), $DB->raw('\'\' AS acct_gl_voucher_type'), $DB->raw('\'\' AS acct_gl_voucher_number')));
     $this->Database4 = $DB->connection($AuthenticationManager->getCurrentUserOrganizationConnection())->table('ACCT_Journal_Entry AS je')->join('ACCT_Journal_Voucher AS jv', 'jv.id', '=', 'je.journal_voucher_id')->join('ACCT_Voucher_Type AS vt', 'vt.id', '=', 'jv.voucher_type_id')->join('ACCT_Account AS c', 'je.account_id', '=', 'c.id')->where('jv.organization_id', '=', $AuthenticationManager->getCurrentUserOrganizationId())->where('c.is_group', '=', 0)->whereNull('je.deleted_at')->whereNull('jv.deleted_at')->select(array($DB->raw('je.debit AS acct_gl_debit'), $DB->raw('je.credit AS acct_gl_credit'), 'c.id AS acct_gl_account_id', 'c.parent_account_id AS acct_gl_parent_account_id', $DB->raw('IFNULL(jv.manual_reference,"' . $Lang->get('decima-accounting::journal-management.noRef') . '") AS acct_gl_account_key'), 'jv.remark AS acct_gl_account_name', 'c.is_group AS acct_gl_is_group', 'c.balance_type AS acct_gl_balance_type', $DB->raw('0 AS acct_gl_total_debit'), $DB->raw('0 AS acct_gl_total_credit'), $DB->raw('0 AS acct_gl_opening_balance'), $DB->raw('0 AS acct_gl_closing_balance'), $DB->raw('DATE_FORMAT(jv.date, "' . $Lang->get('form.mysqlDateFormat') . '") AS acct_gl_voucher_date'), $DB->raw('vt.name AS acct_gl_voucher_type'), $DB->raw('jv.number AS acct_gl_voucher_number')));
     $this->orderBy = array(array('acct_gl_account_key', 'asc'));
 }
 public function __construct(DatabaseManager $DB, AuthenticationManagementInterface $AuthenticationManager, Translator $Lang, Carbon $Carbon)
 {
     $this->DB = $DB;
     $this->AuthenticationManager = $AuthenticationManager;
     $this->Carbon = $Carbon;
     $this->Database = $DB->connection($AuthenticationManager->getCurrentUserOrganizationConnection())->table('ACCT_Journal_Entry AS je')->join('ACCT_Journal_Voucher AS jv', 'jv.id', '=', 'je.journal_voucher_id')->join('ACCT_Account AS c', 'je.account_id', '=', 'c.id')->where('jv.organization_id', '=', $AuthenticationManager->getCurrentUserOrganizationId())->where('c.is_group', '=', 0)->whereNull('je.deleted_at')->whereNull('jv.deleted_at')->select(array($DB->raw('IFNULL(SUM(je.debit),0) AS acct_tb_debit'), $DB->raw('IFNULL(SUM(je.credit),0) AS acct_tb_credit'), 'c.id AS acct_tb_account_id', 'c.parent_account_id AS acct_tb_parent_account_id', 'c.key AS acct_tb_account_key', 'c.name AS acct_tb_account_name', 'c.is_group AS acct_tb_is_group', 'c.balance_type AS acct_tb_balance_type', $DB->raw('0 AS acct_tb_total_debit'), $DB->raw('0 AS acct_tb_total_credit'), $DB->raw('0 AS acct_tb_opening_balance'), $DB->raw('0 AS acct_tb_closing_balance')));
     $this->Database2 = $DB->connection($AuthenticationManager->getCurrentUserOrganizationConnection())->table('ACCT_Account AS c')->where('c.is_group', '=', 1)->where('c.organization_id', '=', $AuthenticationManager->getCurrentUserOrganizationId())->select(array($DB->raw('0 AS acct_tb_debit'), $DB->raw('0 AS acct_tb_credit'), 'c.id AS acct_tb_account_id', 'c.parent_account_id AS acct_tb_parent_account_id', 'c.key AS acct_tb_account_key', 'c.name AS acct_tb_account_name', 'c.is_group AS acct_tb_is_group', 'c.balance_type AS acct_tb_balance_type', $DB->raw('0 AS acct_tb_total_debit'), $DB->raw('0 AS acct_tb_total_credit'), $DB->raw('0 AS acct_tb_opening_balance'), $DB->raw('0 AS acct_tb_closing_balance')));
     $this->Database3 = $DB->connection($AuthenticationManager->getCurrentUserOrganizationConnection())->table('ACCT_Journal_Entry AS je')->join('ACCT_Journal_Voucher AS jv', 'jv.id', '=', 'je.journal_voucher_id')->join('ACCT_Account AS c', 'je.account_id', '=', 'c.id')->where('jv.organization_id', '=', $AuthenticationManager->getCurrentUserOrganizationId())->where('c.is_group', '=', 0)->whereNull('je.deleted_at')->whereNull('jv.deleted_at')->select(array($DB->raw('0 AS acct_tb_debit'), $DB->raw('0 AS acct_tb_credit'), 'c.id AS acct_tb_account_id', 'c.parent_account_id AS acct_tb_parent_account_id', 'c.key AS acct_tb_account_key', 'c.name AS acct_tb_account_name', 'c.is_group AS acct_tb_is_group', 'c.balance_type AS acct_tb_balance_type', $DB->raw('IFNULL(SUM(je.debit),0) acct_tb_total_debit'), $DB->raw('IFNULL(SUM(je.credit),0) AS acct_tb_total_credit'), $DB->raw('0 AS acct_tb_opening_balance'), $DB->raw('0 AS acct_tb_closing_balance')));
     // $this->visibleColumns = array($DB->raw('IFNULL(SUM(je.debit),0) AS acct_tb_debit'), $DB->raw('IFNULL(SUM(je.credit),0) AS acct_tb_credit'),
     // 															'c.id AS acct_tb_account_id', 'c.parent_account_id AS acct_tb_parent_account_id','c.key AS acct_tb_account_key', 'c.name AS acct_tb_account_name', 'c.is_group AS acct_tb_is_group', 'c.balance_type AS acct_tb_balance_type',
     // 															$DB->raw('0 AS acct_tb_total_debit'), $DB->raw('0 AS acct_tb_total_credit'), $DB->raw('0 AS acct_tb_opening_balance'), $DB->raw('0 AS acct_tb_closing_balance'),
     // );
     $this->orderBy = array(array('acct_tb_account_key', 'asc'));
 }
 /**
  * @inheritdoc
  */
 public function process(EloquentModel $model, Config $config)
 {
     $schemaManager = $this->databaseManager->connection()->getDoctrineSchemaManager();
     $prefix = $this->databaseManager->connection()->getTablePrefix();
     $foreignKeys = $schemaManager->listTableForeignKeys($prefix . $model->getTableName());
     foreach ($foreignKeys as $tableForeignKey) {
         $tableForeignColumns = $tableForeignKey->getForeignColumns();
         if (count($tableForeignColumns) !== 1) {
             continue;
         }
         $relation = new BelongsTo($this->removePrefix($prefix, $tableForeignKey->getForeignTableName()), $tableForeignKey->getLocalColumns()[0], $tableForeignColumns[0]);
         $this->addRelation($model, $relation);
     }
     $tables = $schemaManager->listTables();
     foreach ($tables as $table) {
         if ($table->getName() === $prefix . $model->getTableName()) {
             continue;
         }
         $foreignKeys = $table->getForeignKeys();
         foreach ($foreignKeys as $name => $foreignKey) {
             if ($foreignKey->getForeignTableName() === $prefix . $model->getTableName()) {
                 $localColumns = $foreignKey->getLocalColumns();
                 if (count($localColumns) !== 1) {
                     continue;
                 }
                 if (count($foreignKeys) === 2 && count($table->getColumns()) === 2) {
                     $keys = array_keys($foreignKeys);
                     $key = array_search($name, $keys) === 0 ? 1 : 0;
                     $secondForeignKey = $foreignKeys[$keys[$key]];
                     $secondForeignTable = $this->removePrefix($prefix, $secondForeignKey->getForeignTableName());
                     $relation = new BelongsToMany($secondForeignTable, $this->removePrefix($prefix, $table->getName()), $localColumns[0], $secondForeignKey->getLocalColumns()[0]);
                     $this->addRelation($model, $relation);
                     break;
                 } else {
                     $tableName = $this->removePrefix($prefix, $foreignKey->getLocalTableName());
                     $foreignColumn = $localColumns[0];
                     $localColumn = $foreignKey->getForeignColumns()[0];
                     if ($this->isColumnUnique($table, $foreignColumn)) {
                         $relation = new HasOne($tableName, $foreignColumn, $localColumn);
                     } else {
                         $relation = new HasMany($tableName, $foreignColumn, $localColumn);
                     }
                     $this->addRelation($model, $relation);
                 }
             }
         }
     }
 }
 public function __construct(UserRepositoryInterface $users, DatabaseManager $db, Encrypter $encrypter)
 {
     $this->users = $users;
     $this->encrypter = $encrypter;
     $this->table = Config::get('authentify::auth_tokens.table');
     parent::__construct($db->connection());
 }
 public function __construct(DatabaseManager $DB, AuthenticationManagementInterface $AuthenticationManager)
 {
     // $this->DB = $DB;
     // $this->DB->connection()->enableQueryLog();
     $this->Database = $DB->connection($AuthenticationManager->getCurrentUserOrganizationConnection())->table('ACCT_Fiscal_Year AS f')->where('f.organization_id', '=', $AuthenticationManager->getCurrentUserOrganizationId())->whereNull('f.deleted_at');
     $this->visibleColumns = array('f.id AS acct_cfy_id', 'f.year AS acct_cfy_year', 'f.start_date AS acct_cfy_start_date', 'f.end_date AS acct_cfy_end_date');
     $this->orderBy = array(array('acct_cfy_id', 'asc'));
 }
 public function __construct(DatabaseManager $DB, AuthenticationManagementInterface $AuthenticationManager, Translator $Lang)
 {
     // $this->DB = $DB;
     // $this->DB->connection()->enableQueryLog();
     $this->Database = $DB->connection($AuthenticationManager->getCurrentUserOrganizationConnection())->table('ACCT_Period AS p')->join('ACCT_Fiscal_Year AS f', 'f.id', '=', 'p.fiscal_year_id')->where('p.organization_id', '=', $AuthenticationManager->getCurrentUserOrganizationId())->whereNull('p.deleted_at');
     $this->visibleColumns = array('p.id AS acct_pm_id', 'p.month as acct_pm_month', 'p.start_date as acct_pm_start_date', 'p.end_date as acct_pm_end_date', 'p.is_closed as acct_pm_is_closed', 'f.year as acct_pm_year');
     $this->orderBy = array(array('acct_pm_year', 'desc'), array('acct_pm_month', 'asc'));
 }
 public function testDropSecondaryIndex()
 {
     $cluster = new \CouchbaseCluster('127.0.0.1');
     $clusterManager = $cluster->manager('Administrator', 'Administrator');
     $clusterManager->createBucket($this->bucket, ['bucketType' => 'couchbase', 'saslPassword' => '', 'flushEnabled' => true]);
     sleep(5);
     /** @var \Ytake\LaravelCouchbase\Database\CouchbaseConnection $connection */
     $connection = $this->databaseManager->connection('couchbase');
     $bucket = $connection->openBucket($this->bucket);
     $bucket->manager()->createN1qlPrimaryIndex();
     $bucket->manager()->createN1qlIndex('testing_gsi', ['params1', 'params2']);
     $output = new \Symfony\Component\Console\Output\BufferedOutput();
     $this->command->run(new \Symfony\Component\Console\Input\ArrayInput(['bucket' => $this->bucket, 'name' => 'testing_gsi']), $output);
     $fetch = $output->fetch();
     $this->assertSame("dropped SECONDARY INDEX [testing_gsi] for [index_testing] bucket.", trim($fetch));
     $clusterManager->removeBucket($this->bucket);
 }
 public function __construct(DatabaseManager $DB, AuthenticationManagementInterface $AuthenticationManager, Translator $Lang)
 {
     $this->DB = $DB;
     $this->AuthenticationManager = $AuthenticationManager;
     //$this->DB->connection()->enableQueryLog();
     /*
     $this->Database = $DB->table('ACCT_Journal_Entry AS je')
     						->join('ACCT_Journal_Voucher AS jv', 'jv.id', '=', 'je.journal_voucher_id')
     						->rightJoin('ACCT_Account AS c', 'je.account_id', '=', 'c.id')
     						->join('ACCT_Account_Type AS at', 'at.id', '=', 'c.account_type_id')
     						->where(function($query)
     		                {
     		                  $query->orWhere('jv.status', '=', 'B');
     		                  $query->orWhereNull('jv.status');
     		                }
     						)
     						->where('c.organization_id', '=', $AuthenticationManager->getCurrentUserOrganizationId())
     						->whereIn('at.pl_bs_category', array('D', 'E'))
     						->whereNull('je.deleted_at')
     						->whereNull('jv.deleted_at');
     						//->groupBy('c.id', 'c.parent_account_id', 'c.key', 'c.name', 'at.name');
     
     $this->visibleColumns = array($DB->raw('IFNULL(SUM(je.debit),0) AS acct_bs_debit'), $DB->raw('IFNULL(SUM(je.credit),0) AS acct_bs_credit'),
     															'c.id AS acct_bs_account_id', 'c.parent_account_id AS acct_bs_parent_account_id','c.key AS acct_bs_account_key', 'c.name AS acct_bs_account_name', 'c.is_group AS acct_bs_is_group', 'c.balance_type AS acct_bs_balance_type',
     															$DB->raw('CASE at.pl_bs_category WHEN "D" THEN "' . $Lang->get('decima-accounting::balance-sheet.assets') . '" ELSE "' . $Lang->get('decima-accounting::balance-sheet.liability') . '" END AS acct_bs_pl_bs_category'),
     															//$DB->raw('CASE balance_type WHEN "D" THEN IFNULL(SUM(je.debit),0) - IFNULL(SUM(je.credit),0) ELSE IFNULL(SUM(je.credit),0) - IFNULL(SUM(je.debit),0) END AS acct_bs_balance'),
     															$DB->raw('0 AS acct_bs_balance'),
     															//'at.name AS acct_bs_account_type_name'
     															//$DB->raw('CONCAT(" ", DATE_FORMAT(jv.date, "%c"), " - ", DATE_FORMAT(jv.date, "' . $Lang->get('form.mysqlDateFormat') . '"), " - #", jv.number, " - ", vt.name, " - ", IFNULL(jv.manual_reference,"No Ref."), " - ", jv.remark) AS voucher_header')
     															//$DB->raw('count(*) AS voucher_header')
     );
     */
     $this->Database = $DB->connection($AuthenticationManager->getCurrentUserOrganizationConnection())->table('ACCT_Journal_Entry AS je')->join('ACCT_Journal_Voucher AS jv', 'jv.id', '=', 'je.journal_voucher_id')->rightJoin('ACCT_Account AS c', 'je.account_id', '=', 'c.id')->join('ACCT_Account_Type AS at', 'at.id', '=', 'c.account_type_id')->where('jv.status', '=', 'B')->where('c.is_group', '=', 0)->where('jv.organization_id', '=', $AuthenticationManager->getCurrentUserOrganizationId())->whereIn('at.pl_bs_category', array('D', 'E'))->whereNull('je.deleted_at')->whereNull('jv.deleted_at');
     //->groupBy('c.id', 'c.parent_account_id', 'c.key', 'c.name', 'at.name');
     $this->visibleColumns = array($DB->raw('IFNULL(SUM(je.debit),0) AS acct_bs_debit'), $DB->raw('IFNULL(SUM(je.credit),0) AS acct_bs_credit'), 'c.id AS acct_bs_account_id', 'c.parent_account_id AS acct_bs_parent_account_id', 'c.key AS acct_bs_account_key', 'c.name AS acct_bs_account_name', 'c.is_group AS acct_bs_is_group', 'c.balance_type AS acct_bs_balance_type', $DB->raw('CASE at.pl_bs_category WHEN "D" THEN "' . $Lang->get('decima-accounting::balance-sheet.assets') . '" ELSE "' . $Lang->get('decima-accounting::balance-sheet.liability') . '" END AS acct_bs_pl_bs_category'), $DB->raw('0 AS acct_bs_balance'));
     $this->Database2 = $DB->connection($AuthenticationManager->getCurrentUserOrganizationConnection())->table('ACCT_Journal_Entry AS je')->join('ACCT_Journal_Voucher AS jv', 'jv.id', '=', 'je.journal_voucher_id')->rightJoin('ACCT_Account AS c', 'je.account_id', '=', 'c.id')->join('ACCT_Account_Type AS at', 'at.id', '=', 'c.account_type_id')->where(function ($query) {
         $query->orWhere('jv.status', '=', 'B');
         $query->orWhereNull('jv.status');
     })->where('jv.organization_id', '=', $AuthenticationManager->getCurrentUserOrganizationId())->whereIn('at.pl_bs_category', array('B'))->whereNull('je.deleted_at')->whereNull('jv.deleted_at');
     $this->Database4 = $DB->connection($AuthenticationManager->getCurrentUserOrganizationConnection())->table('ACCT_Journal_Entry AS je')->join('ACCT_Journal_Voucher AS jv', 'jv.id', '=', 'je.journal_voucher_id')->rightJoin('ACCT_Account AS c', 'je.account_id', '=', 'c.id')->join('ACCT_Account_Type AS at', 'at.id', '=', 'c.account_type_id')->where(function ($query) {
         $query->orWhere('jv.status', '=', 'B');
         $query->orWhereNull('jv.status');
     })->where('jv.organization_id', '=', $AuthenticationManager->getCurrentUserOrganizationId())->whereIn('at.pl_bs_category', array('C'))->whereNull('je.deleted_at')->whereNull('jv.deleted_at');
     $this->Database3 = $DB->connection($AuthenticationManager->getCurrentUserOrganizationConnection())->table('ACCT_Account AS c')->join('ACCT_Account_Type AS at', 'at.id', '=', 'c.account_type_id')->where('c.is_group', '=', 1)->where('c.organization_id', '=', $AuthenticationManager->getCurrentUserOrganizationId())->whereIn('at.pl_bs_category', array('D', 'E'))->select(array($DB->raw('0 AS acct_bs_debit'), $DB->raw('0 AS acct_bs_credit'), 'c.id AS acct_bs_account_id', 'c.parent_account_id AS acct_bs_parent_account_id', 'c.key AS acct_bs_account_key', 'c.name AS acct_bs_account_name', 'c.is_group AS acct_bs_is_group', 'c.balance_type AS acct_bs_balance_type', $DB->raw('CASE at.pl_bs_category WHEN "D" THEN "' . $Lang->get('decima-accounting::balance-sheet.assets') . '" ELSE "' . $Lang->get('decima-accounting::balance-sheet.liability') . '" END AS acct_bs_pl_bs_category'), $DB->raw('0 AS acct_bs_balance')));
     $this->orderBy = array(array('acct_bs_account_key', 'asc'));
 }
Example #21
0
 public function __construct(Factory $event_snapshot_factory, Builder $stream_builder, DatabaseManager $manager, $table, $stream_table)
 {
     $this->event_snapshot_factory = $event_snapshot_factory;
     $this->stream_builder = $stream_builder;
     $this->connection = $manager->connection();
     $this->table = $table;
     $this->stream_table = $stream_table;
 }
 /**
  * 실제 처리 될 connection 을 생성해서 반환.
  * > $name 은 config/database.php 에 설정 된 이름이며
  * config/xe.php database 에서 참조됨.
  *
  * @param null|string $connectionName database name
  * @return \Illuminate\Database\Connection
  */
 public function connect($connectionName = null)
 {
     if ($connectionName === 'default') {
         $connectionName = null;
     }
     $connection = $this->databaseManager->connection($connectionName);
     $this->transaction->setCurrent($connection);
     return $connection;
 }
 /**
  * Execute the console command
  */
 public function fire()
 {
     /** @var \Illuminate\Database\Connection|CouchbaseConnection $connection */
     $connection = $this->databaseManager->connection($this->option('database'));
     if ($connection instanceof CouchbaseConnection) {
         $bucket = $connection->openBucket($this->argument('bucket'));
         $fields = $this->argument('fields');
         $whereClause = $this->option('where');
         $name = $this->argument('name');
         $bucket->manager()->createN1qlIndex($name, $fields, $whereClause, $this->option('ignore'), $this->option('defer'));
         $field = implode(",", $fields);
         $this->info("created SECONDARY INDEX [{$name}] fields [{$field}], for [{$this->argument('bucket')}] bucket.");
         if ($whereClause !== '') {
             $this->comment("WHERE clause [{$whereClause}]");
         }
     }
     return;
 }
 /**
  * @inheritdoc
  */
 public function process(EloquentModel $model, Config $config)
 {
     $schemaManager = $this->databaseManager->connection()->getDoctrineSchemaManager();
     $prefix = $this->databaseManager->connection()->getTablePrefix();
     $tableDetails = $schemaManager->listTableDetails($prefix . $model->getTableName());
     $primaryColumnNames = $tableDetails->getPrimaryKey()->getColumns();
     $columnNames = [];
     foreach ($tableDetails->getColumns() as $column) {
         $model->addProperty(new VirtualPropertyModel($column->getName(), $this->typeRegistry->resolveType($column->getType()->getName())));
         if (!in_array($column->getName(), $primaryColumnNames)) {
             $columnNames[] = $column->getName();
         }
     }
     $fillableProperty = new PropertyModel('fillable');
     $fillableProperty->setAccess('protected')->setValue($columnNames)->setDocBlock(new DocBlockModel('@var array'));
     $model->addProperty($fillableProperty);
     return $this;
 }
 public function __construct(DatabaseManager $DB, AuthenticationManagementInterface $AuthenticationManager, AccountManagementInterface $AccountManager, Translator $Lang, Carbon $Carbon)
 {
     $this->DB = $DB;
     $this->AccountManager = $AccountManager;
     $this->AuthenticationManager = $AuthenticationManager;
     $this->Carbon = $Carbon;
     $this->Database = $DB->connection($AuthenticationManager->getCurrentUserOrganizationConnection())->table('ACCT_Journal_Entry AS je')->join('ACCT_Account AS c', 'je.account_id', '=', 'c.id')->join('ACCT_Journal_Voucher AS jv', 'jv.id', '=', 'je.journal_voucher_id')->leftJoin('PURCH_Document_Type AS dt', 'dt.id', '=', 'jv.document_type_id')->leftJoin('PURCH_Supplier AS ps', 'ps.id', '=', 'jv.supplier_id')->leftJoin('SALE_Client AS cl', 'cl.id', '=', 'jv.client_id')->leftJoin('HR_Employee AS e', 'e.id', '=', 'jv.employee_id')->join('ACCT_Voucher_Type AS vt', 'vt.id', '=', 'jv.voucher_type_id')->where('jv.organization_id', '=', $AuthenticationManager->getCurrentUserOrganizationId())->where('c.is_group', '=', 0)->where('jv.status', '=', 'B')->whereNull('je.deleted_at')->whereNull('jv.deleted_at')->select(array('jv.date', 'jv.number', 'jv.remark', 'jv.manual_reference', 'vt.name AS voucher_type_name', 'jv.document_date', 'jv.document_number', 'jv.document_amount', 'dt.name AS document_type_name', $DB->raw('CONCAT(e.names, \' \', e.surnames) AS employee_name'), 'e.tax_id as employee_tax_id', 'e.single_identity_document_number as employee_single_identity_document_number', 'ps.name as supplier_name', 'ps.registration_number AS supplier_registration_number', 'ps.tax_id as supplier_tax_id', 'ps.single_identity_document_number as supplier_single_identity_document_number', 'cl.name as client_name', 'cl.registration_number AS client_registration_number', 'cl.tax_id as client_tax_id', 'cl.single_identity_document_number as client_single_identity_document_number', 'c.key AS account_key', 'c.name AS account_name', 'je.debit', 'je.credit'));
     $this->orderBy = array(array('jv.document_date', 'asc'));
 }
 public function __construct(DatabaseManager $DB, AuthenticationManagementInterface $AuthenticationManager, Translator $Lang)
 {
     // $this->DB = $DB;
     // $this->DB->connection()->enableQueryLog();
     $this->Database = $DB->connection($AuthenticationManager->getCurrentUserOrganizationConnection())->table('ACCT_Cost_Center AS c')->leftJoin('ACCT_Cost_Center AS cp', 'cp.id', '=', 'c.parent_cc_id')->where('c.organization_id', '=', $AuthenticationManager->getCurrentUserOrganizationId())->whereNull('c.deleted_at');
     $this->visibleColumns = array('c.id AS acct_ccm_id', 'c.key as acct_ccm_key', 'c.name as acct_ccm_name', 'c.is_group as acct_ccm_is_group', 'cp.id as acct_ccm_parent_cc_id', 'cp.key as acct_ccm_parent_key', 'cp.name as acct_ccm_parent_cc', $DB->raw('CASE c.is_group WHEN 1 THEN 0 ELSE 1 END AS acct_ccm_is_leaf'));
     $this->orderBy = array(array('acct_ccm_key', 'asc'));
     $this->treeGrid = true;
     $this->parentColumn = 'cp.id';
     $this->leafColumn = 'acct_ccm_is_leaf';
 }
 public function __construct(DatabaseManager $DB, AuthenticationManagementInterface $AuthenticationManager, Translator $Lang)
 {
     // $this->DB = $DB;
     // $this->DB->connection()->enableQueryLog();
     $this->Database = $DB->connection($AuthenticationManager->getCurrentUserOrganizationConnection())->table('ACCT_Account AS a')->leftJoin('ACCT_Account AS ap', 'ap.id', '=', 'a.parent_account_id')->join('ACCT_Account_Type AS at', 'at.id', '=', 'a.account_type_id')->where('a.organization_id', '=', $AuthenticationManager->getCurrentUserOrganizationId())->whereNull('a.deleted_at');
     $this->visibleColumns = array('a.id AS acct_am_id', 'a.key as acct_am_key', 'a.name as acct_am_name', 'a.balance_type as acct_am_balance_type', 'a.is_group as acct_am_is_group', 'a.account_type_id as acct_am_account_type_id', 'at.name as acct_am_account_type', 'ap.id as acct_am_parent_account_id', 'ap.key as acct_am_parent_key', 'ap.name as acct_am_parent_account', $DB->raw('CASE a.balance_type WHEN "D" THEN "' . $Lang->get('decima-accounting::account-management.D') . '" ELSE "' . $Lang->get('decima-accounting::account-management.A') . '" END AS acct_am_balance_type_name'), $DB->raw('CASE a.is_group WHEN 1 THEN 0 ELSE 1 END AS acct_am_is_leaf'));
     $this->orderBy = array(array('acct_am_key', 'asc'));
     $this->treeGrid = true;
     $this->parentColumn = 'ap.id';
     $this->leafColumn = 'acct_am_is_leaf';
 }
Example #28
0
 /**
  * @param $iframes
  * @param $timestamp
  * @param $episodeID
  * @param $translation
  * @param $quality
  */
 protected function insertMirror($iframes, $timestamp, $episodeID, $translation, $quality)
 {
     foreach ($iframes as $iframe) {
         $src = $iframe->getAttribute('src');
         $mirrorExists = $this->db->connection('mysql1')->table('mirrors')->where('url', '=', $src)->first(['id']);
         if (!$mirrorExists) {
             $mirrorSourceName = $this->getMirrorSourceName($src);
             $mirrorSourceID = $this->getMirrorSourceID($mirrorSourceName, $timestamp);
             // Insert mirror for current episode
             $this->db->connection('mysql1')->table('mirrors')->insert(['user_id' => 1, 'episode_id' => $episodeID, 'mirror_source_id' => $mirrorSourceID, 'language_id' => 1, 'url' => $src, 'translation' => $translation, 'quality' => $quality == 'hd' ? 'HD' : 'SD', 'active' => 1, 'created_at' => $timestamp, 'updated_at' => $timestamp]);
         }
     }
 }
 /**
  * Execute the console command
  */
 public function fire()
 {
     $row = [];
     $tableRows = [];
     /** @var \Illuminate\Database\Connection|CouchbaseConnection $connection */
     $connection = $this->databaseManager->connection($this->option('database'));
     if ($connection instanceof CouchbaseConnection) {
         $bucket = $connection->getCouchbase()->openBucket($this->argument('bucket'));
         $indexes = $bucket->manager()->listN1qlIndexes();
         foreach ($indexes as $index) {
             foreach ($index as $key => $value) {
                 if (array_search($key, $this->headers) !== false) {
                     $row[] = !is_array($value) ? $value : implode(",", $value);
                 }
             }
             $tableRows[] = $row;
             $row = [];
         }
         $this->table($this->headers, $tableRows);
     }
     return;
 }
Example #30
0
 /**
  * Changes the default connection name and tries to establish a connection.
  *
  * @param $database
  */
 protected function setDefaultConnection($database)
 {
     try {
         // Explicitely set the default connection name
         $this->config->set('database.default', $database);
         // Try to connect
         $connection = $this->db->connection();
         // Close the connection
         $connection = null;
     } catch (\Exception $e) {
         throw new \RuntimeException("Can't establish a db connection '" . $e->getMessage() . "'.");
     }
 }