Skip to content

Posts

AdminerのOracle対応

昨日はとりあえず動くところまでできたので、Dockerfileを整えてみた。 https://github.com/umemak/docker-adminer/blob/master/4/Dockerfile イメージサイズ800MB弱。 もっとスリム化できないかな。

AdminerのOracle対応

昨日の続き。 とりあえず接続してテーブル一覧作ったりテーブル作成したりできた。 Docker + Laravel + Oracleの開発環境の構築方法が参考になった。

AdminerのOracle対応

Adminer - Database management in a single PHP fileのDockerイメージAdminer - Official Image | Docker Hubは、Oracle接続に必要なモジュールが入っていない。 PHP: インストール/設定 - Manualによると、Instant Client for Linux x86-64 (64-bit)のBasicと、oci8が必要らしい。 DockerfileはOfficial Imageの Read more

Prisma

Prismaを使ってDB設計ってできるのかな、と思い調べてみた。 Prisma自体は、ORMということだけれど、スキーマファイルをもとにDBに対してマイグレーションで定義を反映できる。 モデル間の関連もスキーマファイルで表現できる。 でも、API側をOpenAPIやGraphQLで定義するとすると、似たよ Read more

GraphQL

API設計するのに、GraphQLの可能性はどうなのかと思ってちょっとググってみた。 個人的にはAmplifyを試していたときに良くわからなくて挫折した思い出がある。 なんとなく、参照系はGraphQLで柔軟性を持たせつつ、更新系は従来のリソース志向のAPIで使い分けるのはどうかなと思った。 Goでのサー Read more

データベース比較

昨日はコンテナ実行環境の比較、今日はマネージドDB(MySQL)を比較してみる。 Amazon RDS for MySQL (MySQLのためのマネージドリレーショナルデータベース) | AWS Cloud SQL for MySQL マネージドデータベース | Cloud SQL: リレーショナル データベース サービス | Google Cloud Azure Database for MySQL - マネージド MySQL データベース | Microsoft Azure リージョンは東京で、シングル構成の Read more

コンテナ実行環境比較

AWSとAzureとGCPで、コンテナ実行環境の比較をしてみたくなった。 GCPのCloud Run: コンテナを秒単位で本番環境にデプロイ | Google Cloudみたいなやつ。 AWSはAWS App Runner – フルマネージド型のコンテナアプリケーション - Amazon Web Services、AzureはAzure Container Apps | Microsoft Azureが比較対象となるか Read more

OpenAPI Generator

Generators Listを眺めていたら、mysql-schemaなんてのがあったので、試してみた。 $ wget https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml $ docker run --rm \ -v ${PWD}:/local openapitools/openapi-generator-cli generate \ -i /local/petstore.yaml \ -g mysql-schema \ -o /local/out $ ls -R out/ out/: Model README.md mysql_schema.sql out/Model: ApiResponse.sql Category.sql Order.sql Pet.sql Tag.sql User.sql out/mysql_schema.sqlにDDLが作成されていた。 out/Modelには、CRUD用SQLのテンプレートが作られていた。 pets Read more

PocketbaseのMigration

昨日、Migratinが用意されているのを知って、試してみたけれど思ったように動かず。 マイグレーションにしか使わないパッケージもいくつかimportが必要だし、明示的にmigrate upしないといけない。 であれば、普通にHTTP APIでCreate Collectionしても良いかなという気持ちになっ Read more

Goのエラー処理

fmt.Errorf("~~: %w", err)の書き方にルールあるのかな、と思って調べたら、先人の記事があった。 fmt.Errorfのメッセージについての調査と、linterとしての実装について | CyberAgent Developers Blog いつもその時の雰囲気で書いていたので、こういったルールで揃えられるのは良い。 もうひとつ、tem Read more