並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 57件

新着順 人気順

マイグレーション dbの検索結果1 - 40 件 / 57件

  • 100億レコード超のDBを“障害ゼロ”でマイグレーション 新卒1年目が考えた2つのアプローチと3つの工夫

    インターネットやAIを駆使しながら、領域に捉われずにさらなる挑戦を行うDeNAの取り組みを紹介する「DeNA TechCon 2023」。ここで成田氏が登壇。PocochaのDBをマイグレーションしたことについて話します。 新卒1年目が100億レコード超のDBマイグレーションをした話 成田篤基氏:発表を始めます。みなさんはじめまして。成田と申します。私は2021年にディー・エヌ・エーに新卒で入社して、現在入社から2年が経とうとしています。 私は新卒1年目で、大規模なデータベースマイグレーションを行う貴重な経験ができました。本日はそのマイグレーションプロジェクトについて、体験から得た学びをみなさんにお伝えします。題して「新卒1年目が100億レコード超のDBマイグレーションをした話」です。どうぞよろしくお願いいたします。 目次です。本日はこちらの目次に沿って発表を進めていきます。 まずは私たち

      100億レコード超のDBを“障害ゼロ”でマイグレーション 新卒1年目が考えた2つのアプローチと3つの工夫
    • tblsとGitHub Actionsを使ってDBマイグレーションを含むPRには自動更新したER図を追加する - BASEプロダクトチームブログ

      BASEアドベントカレンダー2021 10日目の記事です。 BASEアドベントカレンダー2021 10日目 BASE BANKでエンジニアをしている @budougumi0617 です。 マイグレーションファイルが含まれたPull Request(PR)が作られたとき、自動更新したER図をPRに追加するGitHub Actionsを作りました。 本記事では紹介するGitHub Actionsを利用すると次のようなメリットが得られます。 マイグレーションファイルをPRに出すだけでPRに更新されたER図が追加される 開発者は面倒なER図の更新作業から開放される レビューアはマイグレーションファイルを含んだPRをER図を見ながらレビューできるようになる プロジェクト関係者は常にメインブランチのマイグレーションファイルの状態と一致したER図を確認できる サンプルPR 自動生成したER図 TL;DR

        tblsとGitHub Actionsを使ってDBマイグレーションを含むPRには自動更新したER図を追加する - BASEプロダクトチームブログ
      • ECS(Fargate)でDBマイグレーションを行う - やんばるテック

        はじめに この記事ではECS(Fargate)のCDパイプラインに、DBマイグレーション処理を組み込む一例を解説します。 ECS(Fargate)へのデプロイは、ecspressoを使用します。 また、題材はLaravel、CIツールとしてはGitHub Actionsを使いますが、他のフレームワークや、CIツールでも考え方は応用できるかと思います。 目次 はじめに 目次 前提 DBマイグレーションを含む一連のデプロイの流れ DBマイグレーションの前に行うこと ワークフロー例 --watch-containerオプション --overridesオプション GitHub Actions実行結果(抜粋) 前提 本記事で取り扱うECSタスクでは、以下2つのコンテナが起動します。 nginxコンテナ。ベースイメージはnginx:1.20-alpine。 phpコンテナ(Laravelが稼働するコン

          ECS(Fargate)でDBマイグレーションを行う - やんばるテック
        • golang-migrateでDBマイグレーション | DevelopersIO

          golang-migrateとは? Go言語で作成されたDBマイグレーションツールで、GO言語のライブラリとしてだけではなく、CLIからも利用できます。そのためJavaで開発されているprismatixというサービスでも利用することができます。 JavaのマイグレーションツールにFlywayやliquibaseといったものがあります。その中でこのツールの特徴は、マイグレーションを定義しているファイルをGitHubやAWS S3などから直接参照することができることです。(もちろんローカルのファイルシステムにも対応しています) また対応しているデータベースエンジンも多く、MySQLやPostgreSQL以外にもMongoDBなどにも対応しているなど、様々な場面で使うことができるツールだと思います。 環境構築 今回は手軽に試すためにdocker上で、golang-migrateとPostgreS

            golang-migrateでDBマイグレーション | DevelopersIO
          • Ruby on RailsでDB マイグレーションする際にシステム障害を回避するための工夫 - LCL Engineers' Blog

            Webエンジニアの森脇です。 LCLでは、DB設計変更で、DBマイグレーションをする際にシステム障害を回避するためのいくつか工夫をしています。今回は、その内容を簡単にご紹介いたします。 migration作成時の注意 ブランチ戦略 原則、migrationのブランチは独立させるようにしています。 migrationとコードのデプロイはタイミングを分けたほうが安全であり、さらに他のコード修正と混ぜると、切り戻し等がやりづらいくなるため 新規JOBなど既存コードに影響しない場合は、独立させなくても可 既存コードに影響を与えない migration実行後も既存コードで正常稼働するように、migrationを作成します。 以下にケース別の手順を紹介します。 テーブルの新規作成 テーブルの新規作成は特に意識することはありません。 ただし、既存テーブルへ外部キーを貼る場合は、後述の手順に従い注意が必要

              Ruby on RailsでDB マイグレーションする際にシステム障害を回避するための工夫 - LCL Engineers' Blog
            • 便利!Node.jsにDBマイグレーション、Seed、モデルを用意する「Sequelize」

              さてさて、前々回の「入門!Expressのインストールと基本のまとめ」でも少し書いたのですが、Node.jsのフレームワーク「Express」を本格的に使ってみた実感として、Laravelのようなデータベース周りの機能がなく、ちょっと残念な気持ちになっていました。 ところが、やはり世界中には天才プログラマーたちが多数いるもので、Node.jsに以下3つの機能を一気に提供してくれるパッケージがあることを知りました。 マイグレーション ・・・ DBテーブルの管理 Seed ・・・ テストデータの管理 モデル ・・・ データベース操作(LaravelのEloquentのようなもの) その名も「Sequelize」です。 ※ YouTubeを見る限り、「すぃーくぅらいず」と読むようです。英語でSQLを「すぃーくぅ(る)」と読むことに掛けてるのかと思います。 しかもこのパッケージには、Laravel

                便利!Node.jsにDBマイグレーション、Seed、モデルを用意する「Sequelize」
              • 【Rails初心者向け】ブランチを切り替える前に気を付けたいDBマイグレーションの注意事項 - Qiita

                はじめに Railsはとても便利なwebアプリケーションフレームワークです。 gitも非常に便利なソースコード管理ツールです。 この2つのツールがあれば、初心者でも効率良くwebアプリケーションを開発できます。 ただし、学習用の小さなアプリケーションを一人で開発しているときはブランチはひとつかふたつで十分ですが、業務などで大きなアプリケーションを複数人で開発する場合は、複数のブランチで並行して開発が進める必要が出てきます。 こういうケースではデータベースマイグレーションを正しく理解し、正しく扱わないと、開発環境やソースコードが混沌としてきます。 Rails初心者の多くはこうした知識を持たないまま、チーム開発に参加しがちです。 この記事では「学習用の小さなRailsアプリケーション」を卒業し、「チームで開発する大きなRailsアプリケーション」に足を踏み入れる前に知っておくべき、データベース

                  【Rails初心者向け】ブランチを切り替える前に気を付けたいDBマイグレーションの注意事項 - Qiita
                • 新卒1年目が100億レコード超のDBマイグレーションをした話【DeNA TechCon 2023】

                  youtube:https://youtu.be/SuMRj6K620o 概要: ライブコミュニケーションアプリ Pococha は、今年1月にサービス開始から6周年を迎えました。 サービスの成長に伴い、データベースの規模も昔とは比較にならないくらい大きくなり、今回マイグレーションを行った Pococha 最大のテーブルは100億レコード以上の規模となっていました。 パフォーマンス観点での課題が顕在化し、データベースの再設計が必要な局面を迎えています。 特に課題のひとつに、テーブルが大規模になるにつれて、インデックス設計やパーティション化が適切に行えていないと、テーブルに対する検索速度が大幅に劣化することがあります。 また、テーブルをマイグレーションするにあたって、ユーザー体験を損なうことがないよう可能な限りダウンタイムを発生させずに行うことが理想的です。 そこで、本セッションでは Poc

                    新卒1年目が100億レコード超のDBマイグレーションをした話【DeNA TechCon 2023】
                  • 管理画面にGitOpsを導入しました 〜DBマイグレーション編〜 - Gunosy Tech Blog

                    こんにちは。広告技術部の yamaYu です。 広告サービスのバックエンド〜インフラを中心に触っています。 最近は専らパルデアの大地を駆け回る日々です。 今回の記事ですが、Kubernetes 上で管理している Rails 製システムの DB マイグレーションの扱いについて書きました。 下の記事の続編になっているため、こちらも参考にしていただけると幸いです。 tech.gunosy.io tech.gunosy.io Kubernetes 上でいいかんじに DB マイグレーションしたい Sync Phases, Waves, Resource Hooks Resource Hooks を用いた DB マイグレーション まとめ Kubernetes 上でいいかんじに DB マイグレーションしたい 前回までの記事で、Rails 製の管理画面が現状抱える CI/CD の課題の整理と GitOps

                      管理画面にGitOpsを導入しました 〜DBマイグレーション編〜 - Gunosy Tech Blog
                    • GitHub Actionsを使ったRDSへのDBマイグレーションについて(ECS構成の場合)

                      GitHub Actionsを使ったRDSへのDBマイグレーションについて、これまで手探りで実装していましたが、社内のエンジニア(ratmieさん)から情報をもらって改善してみたので、いくつかのポイントをメモとして残しておきます。 前提として、インフラはECSで構築、アプリケーションはTypeScriptでTypeORMを使用しています。 背景 RDSをVPC内のプライベートサブネット内に構築した場合、インターネット経由でのアクセスはできません。そのため、CI/CDの中でマイグレーションを行いたい場合、VPC内でマイグレーションコマンドを実行する、何かしらの手段が必要となります。 これまで以下を試してみていましたが、それぞれデメリットもあり、いまいちしっくりきていませんでした。 ECSのアプリ起動コマンドの中でマイグレーションを行う → ECSを複数台立ち上げるようにスケールすると、複数回

                        GitHub Actionsを使ったRDSへのDBマイグレーションについて(ECS構成の場合)
                      • Cloud RunのDBマイグレーションどうする問題にCloud Runジョブで対処する - Qiita

                        RailsアプリをCloud Runで動かすときにいくつか悩むことがありますが、そのひとつにDBマイグレーションをどうやって実行するかがあると思います。 この問題の解決策としてCloud Runジョブを使ったらうまくはまったのでご紹介します。 おことわり Cloud Run自体の説明やCloud Runへのデプロイ方法については省略しています。別途公式ドキュメントや解説記事を参照してください。 また、Cloud Runジョブは現在プレビューとして提供されているので、事前に利用規約などをご確認ください。 Cloud RunのDBマイグレーションどうする問題とは RailsアプリのDBマイグレーションはrails db:migrateコマンドの実行によって行います。 Cloud RunにデプロイしたRailsアプリでrails db:migrateを実行したいと思っても、Cloud Runサー

                          Cloud RunのDBマイグレーションどうする問題にCloud Runジョブで対処する - Qiita
                        • AivenでMySQL DBを別クラウドにマイグレーションしてみた | DevelopersIO

                          はじめに アライアンス統括部の佐々木です。先日初めてAivenを触りました。 データクラウドサービスのAivenを使ってみた 今日は、AivenでAWS上に構築したMySQL DBを別クラウドにマイグレーションしてみます。 Can I migrate my service to another cloud or region? やってみた 先日構築したMySQL DBです。[Cloud and VPC]欄を見るとAWSのTokyoリージョン上に構築されていることがわかります。[Micgrate Cloud]ボタンをクリックします。 [Migrate service to another cloud]画面が表示されます。選択可能なのはAWS、Google Cloud、Microsoft Azure、DigitalOcean、UpCloudです。今回はGoogle Cloudを選択します。リー

                            AivenでMySQL DBを別クラウドにマイグレーションしてみた | DevelopersIO
                          • ASP.NET Core 3.0 Razor Pages 事始め(2) - スキャフォールディングとDBマイグレーション - Qiita

                            Help us understand the problem. What are the problem?

                              ASP.NET Core 3.0 Razor Pages 事始め(2) - スキャフォールディングとDBマイグレーション - Qiita
                            • 【Python】お、手軽!FlaskフレームワークのORM拡張でDBマイグレーションを実装してみた - Qiita

                              はじめに 先日、社内のオンライン開発合宿というイベント向けに、アプリケーションを作る一環として、 (コロナ禍もあってオンライン...) REST APIの作成は完了したので、 今度はFlaskにおけるDBマイグレーションの実装とSeeding(テストデータのINSERT処理)を 実装・検証したので、共有したいと思います。 DBマイグレーションとは ソフトウェア工学において、スキーママイグレーション(データベースマイグレーション、データベースチェンジマネジメント)とは、リレーショナルデータベースのスキーマに対する増分的、可逆的な変更とバージョン管理の管理を指す。スキーママイグレーションは、データベースのスキーマを更新したり、新しいバージョンや古いバージョンに戻したりする必要がある場合に、データベースに対して実行されます。 参照元:wikipedia ※DeepL翻訳 ふむふむ、データベースの

                                【Python】お、手軽!FlaskフレームワークのORM拡張でDBマイグレーションを実装してみた - Qiita
                              • Trivy DBを他のデータベースにマイグレーションするツール trivy-db-toを作った - Copy/Cut/Paste/Hatena

                                Trivyは言わずと知れた脆弱性スキャナです。 私は最近までコンテナ専用のスキャナだと思っていましたがそんなことはなく、様々な環境に対してOSパッケージやアプリケーションの依存ライブラリの脆弱性を高速に検知してくれる汎用的なスキャナです。 k1low.hatenablog.com CI環境だろうがサーバ内だろうが脆弱性検知をしてくれるTrivyですが、「その脆弱性データベースはどこにあるんだ?」となると思います。 実は毎回最新の脆弱性データベースを確認し(手元のデータベースより新しいものがあれば)ダウンロードしています。Trivy DBと呼ばれているようです。 Trivy DB github.com Trivy DBは通常版とlight版があるのですが、通常版でもダウンロードサイズはわずか19.4MBです *1。 (実は、このTrivy DBを作成するまでの仕組みがよくできていたり、Tri

                                  Trivy DBを他のデータベースにマイグレーションするツール trivy-db-toを作った - Copy/Cut/Paste/Hatena
                                • SpringBoot x Flywayで DBマイグレーションを行う. - エキサイト TechBlog.

                                  エキサイト株式会社メディア事業部エンジニアの佐々木です。今回は、SpringBootとFlywayでDBマイグレーションを行います。DBマイグレーションなど後回しにしがちですが、簡単にマイグレーション設定ができますので、手作業を減らしていきましょう。 動作確認環境 通常のDBマイグレーションの設定 設定ファイルの記述 DBマイグレーション用のDDL 実行 すでにテーブルが存在する場合のDBマイグレーションの設定 設定ファイルの記述 既存テーブルの設置 実行 まとめ 最後に 動作確認環境 動作確認環境は下記になります。これ以外でも動作すると思います。 Java openjdk 17.0.1 2021-10-19 OpenJDK Runtime Environment (build 17.0.1+12-39) OpenJDK 64-Bit Server VM (build 17.0.1+12-

                                  • Laravel&DockerizeでDBコンテナの起動を待ってマイグレーションを行なう

                                    公開日 2019.12.14更新日 2019.12.14カテゴリ:Laravelタグ:PHP,Laravel,Docker,DockerCompose,Dockerize

                                      Laravel&DockerizeでDBコンテナの起動を待ってマイグレーションを行なう
                                    • 社内勉強会で「今からでも遅くないDBマイグレーション」というタイトルで発表しました - Enjoy*Study

                                      社内勉強会で「今からでも遅くないDBマイグレーション」というタイトルで、FlywayとSchemaSpyの紹介をしました。 今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 - from onozaty FlywayはCLIツール&SQLで書くので、DBマイグレーションやっていなかったプロジェクトに途中から入れる時も敷居がとても低いと思います。 SchemaSpyはDB定義(特にリレーションシップ)を確認するのにとても便利なドキュメント生成ツールなのですが、これがなんでGitHubでスターが2K程度しかついていないのか理解できないくらいに便利です。

                                        社内勉強会で「今からでも遅くないDBマイグレーション」というタイトルで発表しました - Enjoy*Study
                                      • AWS DBマイグレーション Webセミナー 「商用データベースをAWSへ移行しよう」(株式会社システムズ様 主催)に登壇しました | DevelopersIO

                                        コンバンハ、千葉(幸)です。 株式会社システムズ様主催の、「AWS DBマイグレーションWebセミナー[第2回] 「商用データベースをAWSへ移行しよう 〜 Amazon Auroraへの移行で実践するDBマイグレーションのポイント 〜 」のセッションに登壇しました。 セッションにおいては、「AWS移行のポイントからAurora利用で加速させるクラウド活用まで」というテーマでお話をさせていただきました。 当日お話した以下の観点から、概要をご紹介したいと思います。 1.AWSの基礎 2.AWS移行の進め方と検討ポイント 3.AWSのRDBサービス 〜 Amazon RDS と Amazon Aurora 〜 目次 目次 セミナーの形式 1.AWSの基礎 2.AWS移行の進め方と検討ポイント 計画フェーズ 移行フェーズ 運用フェーズ 3.AWSのRDBサービス 〜 Amazon RDS と A

                                          AWS DBマイグレーション Webセミナー 「商用データベースをAWSへ移行しよう」(株式会社システムズ様 主催)に登壇しました | DevelopersIO
                                        • ● LaravelのマイグレーションでDBカラムにインデックスを追加する|プログラムメモ

                                          マイグレーションファイル名はなんでもいいですが、クラス名(1番目の引数)が被ってしまうとエラーになるので、注意して命名してください。 php artisan make:migration change_catalogs_add_title_index --table=catalogs クラス名(class ChangeConsentformsDelBiko extends Migration)でファイルが作成されます。 成功すると 次のようなファイルが生成されます 2019_09_28_180737_change_catalogs_add_title_index このファイルを次のように記述します。 public function up() { Schema::table('consentforms', function (Blueprint $table) { $table->index

                                          • 【Python Django】マイグレーション(DB)をロールバック、元に戻す - Qiita

                                            Djangoはマイグレーションファイルからテーブルの定義変更や追加する機能がDjango ORマッパーにあります。さらに「ロールバック」つまり、マイグレーションファイルをもとにデータベースを前の定義に戻すこともできます。 用途としては、 チームで開発してて、migrateした後に「こっちに修正した方が良くない?」と言われたので修正必要 migrateしたけど、定義抜けてたからロールバック(戻して)定義追加し直したい などに使えます。 ある程度Djangoで開発していくなら必須の知識ですね! DjangoのDB・モデルの基礎は以下のように書いてますので良ければ 今回以下の記事のmodel定義を使用して記事作成しました。 マイグレーション履歴を確認 accounts [X] 0001_initial [X] 0002_order_product_tag admin [X] 0001_initi

                                              【Python Django】マイグレーション(DB)をロールバック、元に戻す - Qiita
                                            • docker-compose upするだけでDB作成とマイグレーションもしたい! - Qiita

                                              はじめに チーム開発のメンバーからある日こんな要望が。 「docker-compose upした後に毎回rails db:create, rails db:migrateするの面倒すぎる。なんとかしろ。」 とのお達しがあったので、主にDocker、CircleCI、AWS周りを担当する僕が対応することとなりました。 僕も元々Railsからプログラマーの世界に飛び込んでいるので、Railsを書いていた時は思考停止して一つ一つのコマンドを叩いていたのですが、 確かにこれ面倒臭い...。 ということでさっさと自動化していきましょう〜! コマンド一発でrails db:createするには? 今回実現すること 今まで、

                                                docker-compose upするだけでDB作成とマイグレーションもしたい! - Qiita
                                              • 【DBマイグレーション】GradleにFlywayを組み込んでパッチ適用を自動化しよう【SpringBoot2】

                                                みんな大好き経験値の塊をデスクに常備しておこう! BANDAI SPIRITS ULTIMAGEAR 遊戯王 千年パズル 1/1スケール

                                                  【DBマイグレーション】GradleにFlywayを組み込んでパッチ適用を自動化しよう【SpringBoot2】
                                                • entのDBマイグレーションを試みる|すずき

                                                  Coolなmanagement UIがあったりなかなかの魅力を誇るツールだ。 entとAtlasこの二つがどう絡み合うか。というとentはent上のSchema定義からDBが取るべきSchemaをGoのソースコードで管理している。 公式のexampleから引っ張ってくると↓のような具合だ。 AtlasはHCLでDB Schemaを定義していき、DBへ差分を反映していくスタイルのようだが、entを使っているとDB SchemaをHCLで書く必要すらないとうわけだ。 https://entgo.io/ja/docs/migrate#atlas-diff-and-apply-hooks にあるようにAtlasとのintegrationを有効にしておくとAtlas WayでmigrationのHookを実装できるようだ。 Hookを実装することでmigrationのロジックを自由度高めにカスタマイ

                                                    entのDBマイグレーションを試みる|すずき
                                                  • AWS ECS – Rails でDB作成・マイグレーションする - Qiita

                                                    こんな風にタスク定義でコマンドを && でつないで DB作成・マイグレーションと Railsサーバーの起動を両方してしまえば良いようだ "command": [ "sh", "-c", "bundle exec rails db:create db:migrate && bundle exec rails s -p 3000 -b '0.0.0.0'" ],

                                                      AWS ECS – Rails でDB作成・マイグレーションする - Qiita
                                                    • PostgreSQL+gooseでDBマイグレーションを試してみる - Qiita

                                                      gooseとは Golang製のDBマイグレーションツールです。 対応DB : PostgreSQL, MySQL, sqlite3 MSSQL Redshift 試した環境 Mac (MacOS Big Sur 11.5.1) 前提条件 Homebrew がインストールされている事 Docker Desktop for Mac がインストールされている事 PostgreSQL+pgAdminの環境をDockerで構築 1. docker-compose.yml を作成する version: '3' services: postgres: image: postgres:latest restart: always environment: POSTGRES_USER: hoge POSTGRES_PASSWORD: password PGPASSWORD: password123 POS

                                                        PostgreSQL+gooseでDBマイグレーションを試してみる - Qiita
                                                      • 【CodeIgniter4】DBマイグレーションの導入 | 株式会社コムセント

                                                        TOP コムセント 技術情報 【CodeIgniter4】DBマイグレーションの導入 【CodeIgniter4】DBマイグレーションの導入 2023.04.03 バックエンド この記事は2022/11/30に作成されました。 CodeIgniter4(以降CI4)での開発が主になり、マイグレーションを使い始めました。 知っているとよい知識や開発ではこうすればいいのではという経験を紹介していきます。 マイグレーションとは? 一連番号orタイムスタンプのついたマイグレーションファイルにテーブルやそのフィールドに与える変更や構造を記述して管理していく機能です。 ex.ファイル名の例 2022-11-30-042007_CreateUsersMigration 2022-11-30-023519_UpdateUsersMigration 2022-12-01-030606_UpdateUsers

                                                          【CodeIgniter4】DBマイグレーションの導入 | 株式会社コムセント
                                                        • #Rails マイグレーションで on_delete: :nullify を指定して、 DB に ON DELETE SET NULL の外部キー制約を追加する - Qiita

                                                          class CreateBook < ActiveRecord::Migration[5.2] def change create_table :book do |t| t.references :user, foreign_key: { on_delete: :nullify } end # あとから追加する場合は多分こう # add_foreign_key "books", "users", on_update: :nullify end end ON DELETE SET NULL とは 親のレコード = user が削除された時に、子が持っている親のID = user_id が null に更新される 親のレコード = user が削除された時に、子のレコード = book は削除されない 参考 外部キー制約について - Qiita Original by Github issue

                                                            #Rails マイグレーションで on_delete: :nullify を指定して、 DB に ON DELETE SET NULL の外部キー制約を追加する - Qiita
                                                          • Dockerでnginx+MySQL+Laravelの環境構築からプロジェクト作成・DBへのマイグレーションまで - Qiita

                                                            概要 タイトル通りの環境構築、その上でのプロジェクトの作成までの流れを記事にしてみます。初投稿なのでお手柔らかに、、 この構成だとlaradockと同じなのですが、今回は1から作ります。 用意する環境 ・PHP7.2 (GDライブラリも) ・MySQL8.0 ・nginx1.15 前提 Dockerがインストールされている 初期フォルダ構成 laravel-project ├ docker │  └ nginx │  │  └ default.conf │  └ php │    └ Dockerfile │    └ php.ini │ └ docker-compose.yml │ └ server docker-compose.yml まずコンテナ情報書きます。 version: '3' services: nginx: image: nginx container_name: web

                                                              Dockerでnginx+MySQL+Laravelの環境構築からプロジェクト作成・DBへのマイグレーションまで - Qiita
                                                            • AWS CDKとPrismaで実現するデプロイ時のDBマイグレーション

                                                              皆さんはRDBのマイグレーションはどのように実行されていますでしょうか? 手動で実行していますか?CIに組み込んでいますか? 戦略や重要視している指標次第では手動による完全なタイミング制御が必要な場合もありますし、ヒューマンミスを排除したい環境では継続的インテグレーションによる自動化を求めていると思います。 今回はそんなマイグレーションの仕組みをIaCであるAWS CDKに組み込み、Prismaによるマイグレーション自体をインフラストラクチャの一部として定義してみました。 何が嬉しいのか この仕組みにすると嬉しいことがいくつかあるので紹介していきます。 CIサービスの実行に依存しない👍 CodeBuildやGitHub ActionのようなCIサービス上でマイグレーションを実行する場合、マイグレーション処理とIaCのデプロイタイミングにズレが生じることになります。例えば、個人のサンドボッ

                                                                AWS CDKとPrismaで実現するデプロイ時のDBマイグレーション
                                                              • 【Golang】golang-migrateでDBマイグレーションをする - Simple minds think alike

                                                                Go言語で実装したWebアプリケーションサイトのDBマイグレーションツールとしてgolang-migrate/migrateを使っていて、そこそこ便利につかえているので紹介してみたいと思います。 migrateを使うメリット migrateを使うことにした背景 環境/前提 インストール 使ってみる マイグレーションの定義ファイルを作る ファイル/ディレクトリ構成確認 マイグレーションの実行 migrate up 1を実行し、ユーザーテーブルをCREATEする migrate down 1を実行し、ユーザーテーブルをDROPする わざと失敗してみる migrate upを実行し、ユーザーテーブルとコメントテーブルを作成 使ってみた所感 サンプル 参考資料 migrateを使うメリット migrateは、Go言語で作成されたDBマイグレーションツールの1つです。 migrateを使うことで得ら

                                                                  【Golang】golang-migrateでDBマイグレーションをする - Simple minds think alike
                                                                • Reflex:DBマイグレーションの手順 - Qiita

                                                                  1.記事概要 この記事は、PythonだけでWebアプリを作ることができるライブラリ「Reflex」に関する記事です。 今回は、DBマイグレーションの方法を整理しました。公式ドキュメントにある手順を少し詳しく説明しています。 Reflexのマイグレーションは、PythonのDBマイグレーションライブラリの「Almenbic」を間接的に利用しています。 また、ReflexのORMについては「SQLAlchemy」を利用しています。それ故、テーブル定義の詳細な設定をする際には「SQLAlchemy」の設定方法に即して行います。 2.前提条件 手順の前提となる環境について説明します。 (1)開発環境とフォルダ構成 開発環境は、VSCodeのDevContainerを利用して構築 ReflexをはじめPythonライブラリはPoetryを利用してパッケージ管理 「project」フォルダを、Dev

                                                                    Reflex:DBマイグレーションの手順 - Qiita
                                                                  • Rails × Cloud Runでデプロイ時のDBマイグレーションによるダウンタイムを極限まで減らしてみた|PharmaX Blog

                                                                    はじめに開発の竹内(@kenta_714)です。 弊社では、6/12に漢方・サプリのサブスクリプションサービスであるYOJOのシステム基盤をHerokuからGCPへとリプレースしました。 その際に、IaC化としてTerraformを導入し、GCPをTerraformで実装する際のノウハウを複数回に分けて記事にて共有しています。 今回は、Cloud RunでRailsアプリケーションをデプロイするときに発生するDBマイグレーションについて、サービスのダウンタイムを減らすための施策を共有したいと思います。 このあたりの知見はあまりWebサイトでみかけないため、ぜひ参考にしていただき、フィードバックいただけますと幸いです。 簡単なアーキテクチャの説明本題に入る前に、まずは弊社のDBとWebアプリケーションまわりを中心にアーキテクチャの説明します。 Cloud RunによるWebアプリケーションと

                                                                      Rails × Cloud Runでデプロイ時のDBマイグレーションによるダウンタイムを極限まで減らしてみた|PharmaX Blog
                                                                    • Rails – 値が重複したレコードを削除してからDBに複合ユニーク制約を追加するマイグレーションの例 - Qiita

                                                                      Caused by: Mysql2::Error: Duplicate entry '1-1' for key 'users.index_users_on_first_name_and_last_name' 例 first_name / last_name の組み合わせでDBにユニーク制約を持たせたい first_name / last_name が同じ組み合わせのユーザは重複分のレコードを削除したい (1個だけ残したい) という場合 コードの例 1個のマイグレーションでは重複レコードを削除する up に ActiveRecord を直接書いてしまう class RemoveDuplicateUsers < ActiveRecord::Migration[7.0] def up dupulicated_users = User.group(:first_name, :last_name).

                                                                        Rails – 値が重複したレコードを削除してからDBに複合ユニーク制約を追加するマイグレーションの例 - Qiita
                                                                      • RailsのDBマイグレーションの細々したメモ - Qiita

                                                                        execute 'UPDATE posts SET start_at = created_at WHERE start_at IS NULL' change_column_null :posts, :start_at, false

                                                                          RailsのDBマイグレーションの細々したメモ - Qiita
                                                                        • GKEでのDBマイグレーション自動化手法 - Qiita

                                                                          QualiArts Advent Calendar 2020、6日目担当の8kkaです。 今回はGKE環境でのDBマイグレーション自動化手法について書こうと思います。 1. 前提の設計など 今回は以下の構成で組まれているシステムに対して、自動化手法を組み込んでいきます。 アプリケーションはGoで記述されている GKE上で稼働させている CDはArgoCDを利用している DBはCloudSQLを利用している 紹介しているコードやアーキテクチャは、実際に構築してみたものを記事用に編集して掲載しています。 ライブラリやツールの紹介をしつつ記述していますが、アーキテクチャの全体像だけ知りたい方は4. アーキテクチャと処理フローの画像だけ参照すると何となくイメージは掴めると思います。 2. マイグレーション実行用のコンテナイメージ作成 マイグレーションの処理には、golang-migrateというラ

                                                                            GKEでのDBマイグレーション自動化手法 - Qiita
                                                                          • Flyway + PostgreSQLのDBマイグレーション環境をDockerを使って構築する - Qiita

                                                                            概要 Dockerを使ってDBマイグレーション環境をローカル環境に構築する方法を紹介します。 Flywayでのマイグレーションと言えばgradleやsbtなどのプラグインを使うのが一般的?かと思いますが、Command-Lineで実行するやり方もあります。 https://flywaydb.org/getstarted/ そして、ツールが内包された公式のDockerImageがあったのでこれを使ってローカルでマイグレーション環境を構築してみます。 https://hub.docker.com/r/boxfuse/flyway/ やりたいこと DockerコンテナでPostgreSQLを立ち上げる FlywayのDockerコンテナからPostgreSQLに対してマイグレーションを実行する 1. 必要なファイルを作成 docker-composeの定義 複数の関連するDockerコンテナを管

                                                                              Flyway + PostgreSQLのDBマイグレーション環境をDockerを使って構築する - Qiita
                                                                            • Laravel4 DBマイグレーションでのテーブル作成 - Qiita

                                                                              yamato@ubuntu:~/engineer-japan$ cd /home/yamato/engineer-japan/ yamato@ubuntu:~/engineer-japan$ ls app artisan bootstrap composer.json composer.lock CONTRIBUTING.md phpunit.xml public readme.md server.php vendor

                                                                                Laravel4 DBマイグレーションでのテーブル作成 - Qiita
                                                                              • 【初心者向け🔰】DB の「スキーマ」「ORM」「マイグレーション」とは何か - Qiita

                                                                                概要 データベース(DB)に関する勉強をしていると、「テーブル」や「カラム」などの基本的な言葉以外に、以下のような言葉を聞く機会が出てくると思います。 「ORM」「O/Rマッパー(オーアールマッパー)」「スキーマ」「マイグレーション」 もしくは、Ruby on Rails などのアプリケーションフレームワークを利用すると、DB 周りの処理で同様の単語が出てくるでしょう。 色んな記事で説明されていますが、イマイチわかりやすいものが少ないと感じたため、これらが何を意味するのかを、初心者向けに超ざっくりとまとめます。 スキーマとは 「スキーマ」とは、一般的に 「構造」 を意味する単語で、これはプログラミングの専門用語ではない。 一言に「スキーマ」と言っても、具体的に "何に" 対する構造を指しているかで意味が変わる。今回は 「DB のスキーマ」 について説明する。 DB における「スキーマ」とは

                                                                                  【初心者向け🔰】DB の「スキーマ」「ORM」「マイグレーション」とは何か - Qiita
                                                                                • 【一発でクラウド間移行】 Aiven の DB マイグレーション機能を試す | DevelopersIO

                                                                                  ウィスキー、シガー、パイプをこよなく愛する大栗です。 今回もマルチクラウド環境の DBaaS である Aiven の機能を紹介します。マルチクラウド環境だからこその機能であるクラウド間マイグレーションが簡単にできることをご紹介します。 クラウド間マイグレーション マルチクラウドでシステムを組んでフェイルオーバーしたり、あるクラウドに障害が発生した時などに、異なるクラウドへデータベースを移行する場面があるかと思います。しかしクラウドを越えてデータベースのマイグレーションを行うためには事前の準備と入念な切り替えて順の整備が必要になります。 Aiven ではマルチクラウド環境の DBaaS であるという利点を生かして、簡単にクラウド間の DB マイグレーションができます。 AWS と Google Cloud の間で Aiven のサービスを移動することを想定します。話は簡単で、以下の図のように

                                                                                    【一発でクラウド間移行】 Aiven の DB マイグレーション機能を試す | DevelopersIO