イミテーションの木

色々やってみよう

Linux2へ移行するときの.ebextensions - AWS Elastic Beanstalk

f:id:dmckun:20211020122550p:plain

 

やりたいこと

Linux AMI → Linux2へブランチ切り替え

 

やってみた

既存のバージョンアップでは達成出来ないようなので、新規でインスタンスを作成してソースをお引越しする

Configuration validation exception: Unknown or duplicate parameter: NodeCommand

そんな甘くない

 

何をしなきゃいけない?

.ebextensions配下のファイルを書き換えたりしないといけないみたい

docs.aws.amazon.com

 

対処しよう

nodecommand.configをProcfileに書き換えて

/.ebextensions/nodecommand.config

option_settings:
  aws:elasticbeanstalk:container:nodejs:
    NodeCommand: "npm start"

/Procfile

scripts: node bin/www

 

01-nginx-max-body.configを01_files.configに書き換える

/.ebextensions/01-nginx-max-body.config

files:
  "/etc/nginx/conf.d/client-max-body-size.conf":
     mode: "000644"
     owner: root
     group: root
     content: "client_max_body_size 10M;"

/.ebextensions/01_files.config

files:
  "/etc/nginx/conf.d/proxy.conf":
     mode: "000644"
     owner: root
     group: root
     content: "client_max_body_size 10M;"

 

でーきたっ

group_conactしたidをwhere句で条件として使いたい - MySQL

f:id:dmckun:20210923151808p:plain

 

やりたいこと

SELECT *
FROM `table_1`
WHERE `id` IN(
    SELECT GROUP_CONCAT(`id`)
    FROM `table_1`
    GROUP BY `group_id`
);

こんな感じで、カンマ区切りになった値をIN句の条件指定に使えるのかな~?

 

やってみた

とりあえず、こんなテーブルで

mysql> SELECT * FROM `table_1`;
+------+----------+
| id   | group_id |
+------+----------+
|    1 |        1 |
|    2 |        1 |
|    3 |        2 |
|    4 |        2 |
+------+----------+
4 rows in set (0.00 sec)

実行!

mysql> SELECT *
    -> FROM `table_1`
    -> WHERE `id` IN(
    ->     SELECT GROUP_CONCAT(`id`)
    ->     FROM `table_1`
    ->     GROUP BY `group_id`
    -> );
+------+----------+
| id   | group_id |
+------+----------+
|    1 |        1 |
|    3 |        2 |
+------+----------+
2 rows in set (0.00 sec)

惨敗。。。

 

全部くっつけちゃえ

GROUP_CONCATで更にぎゅっとしてFIND_IN_SETにぶち込む

mysql> SELECT *
    -> FROM `table_1`
    -> WHERE FIND_IN_SET(id, (
    ->     SELECT GROUP_CONCAT(t1.ids)
    ->     FROM (
    ->         SELECT GROUP_CONCAT(`id`) ids
    ->         FROM `table_1`
    ->         GROUP BY `group_id`
    ->     ) t1
    -> ));
+------+----------+
| id   | group_id |
+------+----------+
|    1 |        1 |
|    2 |        1 |
|    3 |        2 |
|    4 |        2 |
+------+----------+
4 rows in set (0.01 sec)

出来た!!!

 

データ量を増やしてやってみる

mysql> INSERT INTO table_1(ID, GROUP_ID) VALUES
    -> (5, 2),
    -> (6, 1),
    ~~~~~ 省略 ~~~~~
    -> (14999, 1),
    -> (15000, 1);
Query OK, 14996 rows affected (0.34 sec)
Records: 14996  Duplicates: 0  Warnings: 0

mysql> SELECT * FROM `table_1` WHERE FIND_IN_SET(id, (SELECT GROUP_CONCAT(t1.ids) FROM (SELECT GROUP_CONCAT(`id`) ids FROM `table_1` GROUP BY `group_id`) t1));
+-------+----------+
| id    | group_id |
+-------+----------+
|  1278 |        5 |
| 11918 |        1 |
~~~~~~~ 省略 ~~~~~~~
| 12781 |        1 |
| 12783 |        1 |
+-------+----------+
171 rows in set, 6 warnings (0.37 sec)

ハァ~イッ!!

そんなに長い文字列覚えられないよね、、ごめんなさい。

完全解決してないけど今日はここまで!

プライバシーポリシー

当サイトに掲載されている広告について

当サイトでは、第三者配信の広告サービス(GoogleアドセンスA8.netAmazonアソシエイトバリューコマース、もしもアフィリエイト、afb、アクセストレード)を利用しています。
このような広告配信事業者は、ユーザーの興味に応じた商品やサービスの広告を表示するため、当サイトや他サイトへのアクセスに関する情報 『Cookie』(氏名、住所、メール アドレス、電話番号は含まれません) を使用することがあります。
またGoogleアドセンスに関して、このプロセスの詳細やこのような情報が広告配信事業者に使用されないようにする方法については、こちらをクリックしてください。

 

当サイトが使用しているアクセス解析ツールについて

当サイトでは、Googleによるアクセス解析ツール「Googleアナリティクス」を利用しています。

このGoogleアナリティクスはトラフィックデータの収集のためにCookieを使用しています。

このトラフィックデータは匿名で収集されており、個人を特定するものではありません。

この機能はCookieを無効にすることで収集を拒否することが出来ますので、お使いのブラウザの設定をご確認ください。
この規約に関して、詳しくはこちら、またはこちらをクリックしてください。

 

当サイトへのコメントについて

当サイトでは、スパム・荒らしへの対応として、コメントの際に使用されたIPアドレスを記録しています。

これはブログの標準機能としてサポートされている機能で、スパム・荒らしへの対応以外にこのIPアドレスを使用することはありません。

また、メールアドレスとURLの入力に関しては、任意となっております。
全てのコメントは管理人であるredoが事前にその内容を確認し、承認した上での掲載となりますことをあらかじめご了承下さい。

加えて、次の各号に掲げる内容を含むコメントは管理人の裁量によって承認せず、削除する事があります。

  • 特定の自然人または法人を誹謗し、中傷するもの。
  • 極度にわいせつな内容を含むもの。
  • 禁制品の取引に関するものや、他者を害する行為の依頼など、法律によって禁止されている物品、行為の依頼や斡旋などに関するもの。
  • その他、公序良俗に反し、または管理人によって承認すべきでないと認められるもの。

 

免責事項

当サイトで掲載している画像の著作権・肖像権等は各権利所有者に帰属致します。権利を侵害する目的ではございません。記事の内容や掲載画像等に問題がございましたら、各権利所有者様本人が直接メールでご連絡下さい。確認後、対応させて頂きます。

当サイトからリンクやバナーなどによって他のサイトに移動された場合、移動先サイトで提供される情報、サービス等について一切の責任を負いません。

当サイトのコンテンツ・情報につきまして、可能な限り正確な情報を掲載するよう努めておりますが、誤情報が入り込んだり、情報が古くなっていることもございます。

当サイトに掲載された内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。

 

プライバシーポリシーの変更について

当サイトは、個人情報に関して適用される日本の法令を遵守するとともに、本ポリシーの内容を適宜見直しその改善に努めます。

修正された最新のプライバシーポリシーは常に本ページにて開示されます。

運営者:dmckun