BcDatabaseService
in package
implements
BcDatabaseServiceInterface
uses
LogTrait, BcContainerTrait, ConfigurationTrait
Table of Contents
Interfaces
- BcDatabaseServiceInterface
- BcDatabaseServiceInterface
Properties
- $_adapter : CakeAdapter
- Cake Adapter
- $_encodingMaps : array<string|int, mixed>
- PHP←→DBエンコーディングマップ
Methods
- __construct() : mixed
- Constructor
- addColumn() : bool
- テーブルにカラムを追加する
- checkDbConnection() : mixed
- DB接続チェック
- clearAppTableList() : void
- アプリケーションに関連するテーブルリストのキャッシュをクリアする
- columnExists() : bool
- テーブルにカラムが存在するか確認する
- connectDb() : Connection
- データベースに接続する
- constructionTable() : bool
- テーブルを構築する
- createTable() : bool
- テーブルを作成する
- deleteTables() : bool
- テーブルを削除する
- dropTable() : bool
- テーブルを削除する
- getAppTableList() : array<string|int, mixed>
- アプリケーションに関連するテーブルリストを取得する
- getDataSource() : Connection
- データソースを取得する
- getDatasourceName() : string
- datasource名を取得
- getEncoding() : string
- Gets the database encoding
- getMigrationsTable() : Table
- マイグレーション用のテーブルオブジェクトを取得する。
- getSequence() : mixed
- シーケンスを取得する
- getService() : array<string|int, mixed>|mixed|object
- Get Service
- hasService() : bool
- Has Service
- initSystemData() : bool
- システムデータを初期化する
- loadCsv() : bool
- CSVファイルをDBに読み込む
- loadCsvToArray() : false|array<string|int, mixed>
- CSVよりデータを配列として読み込む
- loadDefaultDataPattern() : bool
- 初期データを読み込む
- loadSchema() : bool
- スキーマを読み込む
- migrate() : bool
- データベースのマイグレーションを実行する
- removeColumn() : bool
- テーブルよりカラムを削除する
- renameColumn() : bool
- テーブルのカラム名を変更する
- renameTable() : bool
- テーブルをリネームする
- resetAllTables() : bool
- プラグインも含めて全てのテーブルをリセットする
- resetTables() : bool
- 複数のテーブルをリセットする
- tableExists() : bool
- テーブルの存在チェックを行う
- testConnectDb() : mixed
- データベース接続テスト
- truncate() : bool
- テーブルのデータをリセットする
- updateSequence() : mixed
- データベースシーケンスをアップデートする
- writeCsv() : bool
- DBのデータをCSVファイルとして書きだす
- writeSchema() : string|false
- モデル名を指定してスキーマファイルを生成する
- _convertFieldToCsv() : string
- CSV用のフィールドデータに変換する
- _convertRecordToCsv() : array<string|int, mixed>
- CSV用のレコードデータに変換する
- _dbEncToPhp() : string
- DB用エンコーディング名称をPHP用エンコーディング名称に変換する
- _generateSchema() : string
- テキストのスキーマ情報を生成する Bake\Command\FixtureCommand::_generateSchema() を移植
- _loadDefaultDataPattern() : bool
- 初期データを読み込む
- _phpEncToDb() : string
- PHP用エンコーディング名称をDB用のエンコーディング名称に変換する
- _values() : array<string|int, string>
- Formats Schema columns from Model Object Bake\Command\FixtureCommand::_values() を移植
- initAdapter() : mixed
- アダプターを初期化する
Properties
$_adapter
Cake Adapter
public
CakeAdapter
$_adapter
$_encodingMaps
PHP←→DBエンコーディングマップ
protected
array<string|int, mixed>
$_encodingMaps
= ['utf8' => 'UTF-8', 'sjis' => 'SJIS', 'ujis' => 'EUC-JP']
Methods
__construct()
Constructor
public
__construct() : mixed
Tags
addColumn()
テーブルにカラムを追加する
public
addColumn(string $tableName, string $columnName, string $type[, array<string|int, mixed> $options = [] ]) : bool
Parameters
- $tableName : string
- $columnName : string
- $type : string
- $options : array<string|int, mixed> = []
Tags
Return values
boolcheckDbConnection()
DB接続チェック
public
checkDbConnection(array<string|int, string> $config) : mixed
Parameters
- $config : array<string|int, string>
-
-
datasource
: 'MySQL' or 'Postgres' or 'SQLite' or 'CSV' -
database
: データベース名 SQLiteの場合はファイルパス CSVの場合はディレクトリへのパス -
host
: テキストDB or localhostの場合は不要 -
port
: 接続ポート テキストDBの場合は不要 -
login
: 接続ユーザ名 テキストDBの場合は不要 -
password
: 接続パスワード テキストDBの場合は不要
-
Tags
clearAppTableList()
アプリケーションに関連するテーブルリストのキャッシュをクリアする
public
clearAppTableList([string $dbConfigKeyName = 'default' ]) : void
Parameters
- $dbConfigKeyName : string = 'default'
Tags
columnExists()
テーブルにカラムが存在するか確認する
public
columnExists(string $tableName, string $columnName) : bool
Parameters
- $tableName : string
- $columnName : string
Tags
Return values
boolconnectDb()
データベースに接続する
public
connectDb(array<string|int, mixed> $config[, mixed $name = 'default' ]) : Connection
Parameters
- $config : array<string|int, mixed>
- $name : mixed = 'default'
Tags
Return values
ConnectionconstructionTable()
テーブルを構築する
public
constructionTable(string $plugin[, string $dbConfigKeyName = 'default' ][, array<string|int, mixed> $dbConfig = [] ]) : bool
Parameters
- $plugin : string
- $dbConfigKeyName : string = 'default'
- $dbConfig : array<string|int, mixed> = []
Tags
Return values
boolcreateTable()
テーブルを作成する
public
createTable(string $tableName[, array<string|int, mixed> $columns = [] ]) : bool
Parameters
- $tableName : string
- $columns : array<string|int, mixed> = []
Tags
Return values
booldeleteTables()
テーブルを削除する
public
deleteTables([string $dbConfigKeyName = 'default' ][, null $dbConfig = null ]) : bool
Parameters
- $dbConfigKeyName : string = 'default'
- $dbConfig : null = null
Tags
Return values
booldropTable()
テーブルを削除する
public
dropTable(string $tableName) : bool
Parameters
- $tableName : string
Tags
Return values
boolgetAppTableList()
アプリケーションに関連するテーブルリストを取得する
public
getAppTableList([mixed $plugin = '' ][, string $dbConfigKeyName = 'default' ]) : array<string|int, mixed>
Parameters
- $plugin : mixed = ''
- $dbConfigKeyName : string = 'default'
Tags
Return values
array<string|int, mixed>getDataSource()
データソースを取得する
public
getDataSource([mixed $dbConfigKeyName = 'default' ][, array<string|int, mixed> $dbConfig = null ]) : Connection
Parameters
- $dbConfigKeyName : mixed = 'default'
- $dbConfig : array<string|int, mixed> = null
Tags
Return values
ConnectiongetDatasourceName()
datasource名を取得
public
getDatasourceName([string $datasource = null ]) : string
Parameters
- $datasource : string = null
-
datasource name.postgre.mysql.etc.
Tags
Return values
stringgetEncoding()
Gets the database encoding
public
getEncoding() : string
Tags
Return values
string —The database encoding
getMigrationsTable()
マイグレーション用のテーブルオブジェクトを取得する。
public
getMigrationsTable(string $tableName) : Table
Parameters
- $tableName : string
Tags
Return values
TablegetSequence()
シーケンスを取得する
public
getSequence(mixed $table[, mixed $field = 'id' ]) : mixed
Parameters
- $table : mixed
- $field : mixed = 'id'
Tags
getService()
Get Service
public
getService(mixed $service) : array<string|int, mixed>|mixed|object
Parameters
- $service : mixed
Tags
Return values
array<string|int, mixed>|mixed|objecthasService()
Has Service
public
hasService(mixed $service) : bool
Parameters
- $service : mixed
Tags
Return values
boolinitSystemData()
システムデータを初期化する
public
initSystemData([mixed $options = [] ]) : bool
Parameters
- $options : mixed = []
Tags
Return values
boolloadCsv()
CSVファイルをDBに読み込む
public
loadCsv(array<string|int, mixed> $options) : bool
Parameters
- $options : array<string|int, mixed>
-
-
path
: 読み込み元のCSVのパス - `encoding: CSVファイルのエンコード
-
Tags
Return values
boolloadCsvToArray()
CSVよりデータを配列として読み込む
public
loadCsvToArray(string $path[, mixed $encoding = 'auto' ]) : false|array<string|int, mixed>
Parameters
- $path : string
- $encoding : mixed = 'auto'
Tags
Return values
false|array<string|int, mixed>loadDefaultDataPattern()
初期データを読み込む
public
loadDefaultDataPattern(string $theme, string $pattern[, string $dbConfigKeyName = 'default' ]) : bool
Parameters
- $theme : string
- $pattern : string
- $dbConfigKeyName : string = 'default'
Tags
Return values
boolloadSchema()
スキーマを読み込む
public
loadSchema(mixed $options) : bool
Parameters
- $options : mixed
Tags
Return values
boolmigrate()
データベースのマイグレーションを実行する
public
migrate(string $plugin[, string $connection = 'default' ]) : bool
Parameters
- $plugin : string
- $connection : string = 'default'
Tags
Return values
boolremoveColumn()
テーブルよりカラムを削除する
public
removeColumn(string $tableName, string $columnName) : bool
Parameters
- $tableName : string
- $columnName : string
Tags
Return values
boolrenameColumn()
テーブルのカラム名を変更する
public
renameColumn(string $tableName, string $columnName, string $newColumnName) : bool
Parameters
- $tableName : string
- $columnName : string
- $newColumnName : string
Tags
Return values
boolrenameTable()
テーブルをリネームする
public
renameTable(string $oldTableName, string $newTableName) : bool
Parameters
- $oldTableName : string
- $newTableName : string
Tags
Return values
boolresetAllTables()
プラグインも含めて全てのテーブルをリセットする
public
resetAllTables([mixed $excludes = [] ][, string $dbConfigKeyName = 'default' ]) : bool
プラグインは有効となっているもののみ 現在のテーマでないテーマの梱包プラグインを検出できない為
Parameters
- $excludes : mixed = []
- $dbConfigKeyName : string = 'default'
Tags
Return values
boolresetTables()
複数のテーブルをリセットする
public
resetTables([string $plugin = 'BaserCore' ][, array<string|int, mixed> $excludes = [] ][, string $dbConfigKeyName = 'default' ]) : bool
Parameters
- $plugin : string = 'BaserCore'
- $excludes : array<string|int, mixed> = []
- $dbConfigKeyName : string = 'default'
Tags
Return values
booltableExists()
テーブルの存在チェックを行う
public
tableExists(string $tableName) : bool
Parameters
- $tableName : string
Tags
Return values
booltestConnectDb()
データベース接続テスト
public
testConnectDb(array<string|int, mixed> $config) : mixed
Parameters
- $config : array<string|int, mixed>
Tags
truncate()
テーブルのデータをリセットする
public
truncate(string $table[, string $dbConfigKeyName = 'default' ]) : bool
Parameters
- $table : string
- $dbConfigKeyName : string = 'default'
Tags
Return values
boolupdateSequence()
データベースシーケンスをアップデートする
public
updateSequence() : mixed
Tags
writeCsv()
DBのデータをCSVファイルとして書きだす
public
writeCsv(mixed $table, array<string|int, mixed> $options) : bool
Parameters
- $table : mixed
- $options : array<string|int, mixed>
-
-
path
: CSVの出力先となるパス -encoding
: 出力エンコーディング -table
: テーブル名 -init
: id、created、modified を初期化する(初期値:false)
Tags
Return values
boolwriteSchema()
モデル名を指定してスキーマファイルを生成する
public
writeSchema(mixed $table, array<string|int, mixed> $options) : string|false
Parameters
- $table : mixed
- $options : array<string|int, mixed>
-
-
path
: スキーマファイルの生成場所
-
Tags
Return values
string|false —スキーマファイルの内容
_convertFieldToCsv()
CSV用のフィールドデータに変換する
protected
_convertFieldToCsv(string $value[, bool $dc = true ]) : string
Parameters
- $value : string
- $dc : bool = true
-
( " を "" に変換するか)
Tags
Return values
string_convertRecordToCsv()
CSV用のレコードデータに変換する
protected
_convertRecordToCsv(array<string|int, mixed> $record) : array<string|int, mixed>
Parameters
- $record : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>_dbEncToPhp()
DB用エンコーディング名称をPHP用エンコーディング名称に変換する
protected
_dbEncToPhp(string $enc) : string
Parameters
- $enc : string
Tags
Return values
string_generateSchema()
テキストのスキーマ情報を生成する Bake\Command\FixtureCommand::_generateSchema() を移植
protected
_generateSchema(TableSchemaInterface $table) : string
Parameters
- $table : TableSchemaInterface
Tags
Return values
string_loadDefaultDataPattern()
初期データを読み込む
protected
_loadDefaultDataPattern(string $pattern, string $theme[, string $plugin = 'BaserCore' ][, array<string|int, mixed> $excludes = [] ][, mixed $dbConfigKeyName = 'default' ]) : bool
Parameters
- $pattern : string
- $theme : string
- $plugin : string = 'BaserCore'
- $excludes : array<string|int, mixed> = []
- $dbConfigKeyName : mixed = 'default'
Tags
Return values
bool_phpEncToDb()
PHP用エンコーディング名称をDB用のエンコーディング名称に変換する
protected
_phpEncToDb(string $enc) : string
Parameters
- $enc : string
Tags
Return values
string_values()
Formats Schema columns from Model Object Bake\Command\FixtureCommand::_values() を移植
protected
_values(array<string|int, mixed> $values) : array<string|int, string>
Parameters
- $values : array<string|int, mixed>
-
options keys(type, null, default, key, length, extra)
Tags
Return values
array<string|int, string> —Formatted values
initAdapter()
アダプターを初期化する
protected
initAdapter() : mixed
アダプターはテーブルのマイグレーションに利用する