ナカちゃんが投稿した記事

Acquia CLIを使ってDBデータをローカル開発環境からクラウド環境にデプロイする際に、rsyncのエラーが出る問題の対応

ナカちゃん に投稿

こんにちわ。
最近、Acquia Cloud Platformに手を出しているナカチャンです。
すんごい便利ですよねコレ。

公式さんが出してくださっているセミナー動画
https://www.youtube.com/watch?v=_9uq8Wl8YcA
をみて、自前のローカル環境を構築したのですが、いざローカルからクラウド上の環境(dev環境に)DBデータをデプロイしようとするとエラーが出てうまくできなかったので、その際の対応を備忘録として記載しておきます。

以下、前提です。

利用中のカスタムモジュールのテーブル定義を変更する

ナカちゃん に投稿

タグ

2019/8/5 追記:hook_post_update_NAME()ではなく、hook_update_N()を使用するように変更しました。

はじめに

使用しているカスタムモジュールに機能追加した場合、使用しているDBテーブルの定義を変更する必要が出てきたりします。
Drupalでは「モジュールのアップデート」でDB定義を変更することができるようなので、その方法を試してみます。

1. 前提(環境情報)

  • Drupal: 8.7
  • PHP: 7.2
  • そのほかDB,webサーバなどはよしなに...

 

ユーザの選択フィールド(entity_autocomplete利用)で、アカウント名以外の検索を行う方法

ナカちゃん に投稿

タグ

やりたいこと

フォーム要素として、以下のように記載した場合


$form['member'] = [
    '#type' => 'entity_autocomplete',
    '#target_type' => 'user',
];

実際に表示されるentity_autocompleteフィールドでは、ユーザアカウント名によって検索が行われる。

モジュール外のスクリプトからDrupalのAPIを叩く方法

ナカちゃん に投稿

タグ

特定フィールドの値を変更したい場合など、手作業では数が多すぎるときにスクリプト化したい場合があり、その際にnode_saveなどのDrupal特有のAPI を使いたい。

そのような場合は(phpスクリプトでしか使えませんが)以下のコードを記述することで、DrupalのAPIや定数が使えるようになります。カスタムモジュールで追加したものも呼び出せるみたいです。

#limit_validation_errors => []を指定した場合に、form_state->getValues()で値が取れない場合の対処メモ

ナカちゃん に投稿

タグ

いわゆるvalueとinputの違いに関する問題です。 忘れていたり、そもそも知らないと手間取りそうなのでメモしておきます。

テーブル名が特定の文字列で始まるテーブルだけdumpする方法メモ

ナカちゃん に投稿

タグ

例として field_ で始まるテーブルのみダンプする場合は

# mysql -u <ユーザ名> -p -N information_schema -e "SELECT table_name FROM tables WHERE table_schema='<スキーマ名>' AND table_name LIKE 'field_%'" > field_tables.txt
# mysqldump -u <ユーザ名> -p <スキーマ名> `cat field_tables.txt` > anken_content_type_dump.sql
# rm field_tables.txt

・・・というようにする。