You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
A few months ago, we took around 15 seconds of unexpected API downtime during a planned database migration. We're always careful about deploying schema changes, so we were surprised to see one go so badly wrong. As a payments company, the uptime of our API matters more than most - if we're not accepting requests, our merchants are losing money. It's not in our nature to leave issues like this unex
このページについて そもそも ent / atlas ってなに ent atlas 実行例 前提 初期 schema セットアップ atlas を利用して schema 変更管理 まとめ このページについて ent の migration に atlas を使ってみた所感や、そもそも atlas ってどんなものかということを紹介しています。 そもそも ent / atlas ってなに ent OSS のデータアクセスフレームワーク。Goコードで任意のデータモデルまたはグラフ構造を簡単に定義でき、データアクセス周りの CRUD 処理などが自動生成可能。 本記事では深く踏み込まないのでこのくらいの紹介にさせてください。 atlas OSS のデータベーススキーマ管理ツール。CLI と GUI が提供されている。 特徴 AtlasDDL でデータベーススキーマを管理する HCL 構文で記述できる
When Ariel released Ent v0.10.0 at the end of January, he introduced a new migration engine for Ent based on another open-source project called Atlas. Initially, Atlas supported a style of managing database schemas that we call "declarative migrations". With declarative migrations, the desired state of the database schema is given as input to the migration engine, which plans and executes a set of
Nuxt.js で開発されていたAI受診相談ユビーのフロントエンドを Next.js で作り直しました。 まだまだ仮説検証を繰り返すフェーズのスタートアップのため、機能開発を止めて一気に置き換えることはできず、機能ごとに少しずつ置き換えてリリースをしました。結果、5人のプロダクト開発チームによる機能開発と並走して、全体の移行を1人で1ヶ月の短期間で終わらせることができたので、その意思決定や過程、工夫を紹介します。 移行前の課題 まず前提として、移行前の Nuxt.js による実装は 2018 年に立ち上がったもので、当時 toC の Web サービスを持っていなかった Ubie が ほぼ 1 人の小さいチームで PoC 的に作り始めたものでした。また、当時の Next.js は今ほど多機能ではないプレーンなフレームワークでした。 これらを踏まえて、当時の状況で MVP を最速で作るための技
Skeema is a tool for managing MySQL and MariaDB schema changes in a declarative fashion using pure SQL. The Skeema CLI tool allows you to: Export CREATE TABLE statements to the filesystem, for tracking in a Git repo Diff changes in the schema repo against live DBs to automatically generate DDL Manage multiple environments (e.g. dev, staging, prod) and keep them in sync with ease Configure use of o
“データベースマイグレーションについて考えないといけないことや諦めないといけないことが結構あるでよ” http://t.co/BYna6w5luj 期待して記事見たが、複数人開発時におけるバージョン番号の衝突について説明がなかったのが残念。紙面が限られてるししゃあない。— 早すぎる最適化オジサン (@makotokuwata) 2014, 12月 29 flyway って、V1_ みたいな prefix をつけるけど、integer を increment するのって、ブランチきって平行で開発してる場合どうなるの?という気がしている— tokuhirom (@tokuhirom) 2014, 7月 30 flywayのマイグレーションについて見てたけど、これ、バージョン番号をファイル名につける感じなのですかね。まだよく見てないが。Railsのマイグレーションと比べて複数人開発に強くないです
こんにちは。技術部の国分 (@k0kubun) です。 3/28にクラウドワークスさんで行なわれたRails Upgrade Casual Talksで、Railsアップグレードの際にクックパッドが行なっている工夫について紹介しました。 影響範囲の予測が難しいRailsのアップグレードを安全に行なうための動作確認のやり方について参考になればということで、本記事でも改めて紹介いたします。 CookpadのRailsアップグレードの流れ Rails 4.1から4.2にアップグレードした際の例を紹介します。 CIにRails 4.2用ジョブを用意 まずはRails 4.2にアップグレードするためのrails42ブランチでテストを通します。リリースするまでこのブランチはmasterからrebaseし続けるので、リリースまでテストを通る状態を保つため、CIにrails42ブランチ用のジョブを用意しま
好きな IPA は志賀高原ビールの @soh335 です。 早くビール飲みたいのですが書かないと怒られるので今日は、隣の発明家が作った GitDDL というモジュールについて説明しますね。 (隣の発明家に任せると「GitDDLまじイノベーティブ(完)」としか説明してくれないので) なにするものなの 名前を見て通り、Git で database の schema 管理をするものです。それ以前は、DBIx::Class::Schema::Versioned とかを使っていたようです。 仕組み まず、Git で管理されている schema ファイルを指し示すコミットのハッシュを database 上で管理します。 schema に変更があった場合、このコミットのハッシュが databse 上のものとで差異が生まれます。よって database 上の schema は期待する schema ではな
Webサービスを継続的に開発運用していくうえで データベースのデータ構造の更新は避けられませんね。 複数人で開発する時に必須と言っても良いソースコードのバージョン管理ですが ソースコードのみならず、データベースのバージョン管理をすることで すでに存在するデータを壊さずに必要になった構造変更などを正確かつ便利に実行していくため データベースのマイグレーションツールを利用することが多くなってきました。 Ruby on RailsやCodeIgniter、Djangoなどフレームワークとセットで マイグレーションの機能を利用できるものもありますが 今回はそれ単体で動くPythonのDBマイグレーションツールであるsimple-db-migrateを使ってみました。 理由としては 生のSQLで書きたい シンプルな設定で、単純なUPとDOWNを実行したい 導入するサービスの下回りが主にPythonを
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く