Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
AbstractDatabase.php
Go to the documentation of this file.
1 <?php
7 
12 {
16  const CONNECTION_DEFAULT = 'default_setup';
17 
23  protected $_coreFileStorageDb = null;
24 
30  protected $_date;
31 
35  protected $_configuration;
36 
42  private $connectionName = self::CONNECTION_DEFAULT;
43 
55  public function __construct(
56  \Magento\Framework\Model\Context $context,
57  \Magento\Framework\Registry $registry,
58  \Magento\MediaStorage\Helper\File\Storage\Database $coreFileStorageDb,
59  \Magento\Framework\Stdlib\DateTime\DateTime $dateModel,
60  \Magento\Framework\App\Config\ScopeConfigInterface $configuration,
61  \Magento\Framework\Model\ResourceModel\AbstractResource $resource = null,
62  \Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null,
63  $connectionName = null,
64  array $data = []
65  ) {
66  parent::__construct($context, $registry, $resource, $resourceCollection, $data);
67  $this->_configuration = $configuration;
68  $this->_coreFileStorageDb = $coreFileStorageDb;
69  $this->_date = $dateModel;
70  if (!$connectionName) {
71  $connectionName = $this->getConfigConnectionName();
72  }
73  $this->setConnectionName($connectionName);
74  }
75 
81  public function getConfigConnectionName()
82  {
83  $connectionName = $this->_configuration
84  ->getValue(
86  'default'
87  );
88  if (empty($connectionName)) {
89  $connectionName = self::CONNECTION_DEFAULT;
90  }
91  return $connectionName;
92  }
93 
100  protected function _getResource()
101  {
102  $resource = parent::_getResource();
103  $resource->setConnectionName($this->getConnectionName());
104 
105  return $resource;
106  }
107 
113  public function prepareStorage()
114  {
115  $this->_getResource()->createDatabaseScheme();
116 
117  return $this;
118  }
119 
126  public function setConnectionName($connectionName)
127  {
128  if (!empty($connectionName)) {
129  $this->connectionName = $connectionName;
130  $this->_getResource()->setConnectionName($this->connectionName);
131  }
132 
133  return $this;
134  }
135 
141  public function getConnectionName()
142  {
143  return $this->connectionName;
144  }
145 }
$configuration
Definition: index.php:33
$resource
Definition: bulk.php:12
__construct(\Magento\Framework\Model\Context $context, \Magento\Framework\Registry $registry, \Magento\MediaStorage\Helper\File\Storage\Database $coreFileStorageDb, \Magento\Framework\Stdlib\DateTime\DateTime $dateModel, \Magento\Framework\App\Config\ScopeConfigInterface $configuration, \Magento\Framework\Model\ResourceModel\AbstractResource $resource=null, \Magento\Framework\Data\Collection\AbstractDb $resourceCollection=null, $connectionName=null, array $data=[])