ridgepole の検索結果:

ridgepole: v0.7.6でignoreという属性をつけられるようにした

…然知られていないが、ridgepoleでもexecuteがつかえる。 https://github.com/winebarrel/ridgepole#execute create_table "authors", force: :cascade do |t| t.string "name", null: false end create_table "books", force: :cascade do |t| t.string "title", null: false t.…

Ridgepoleのverboseオプションについて

Ridgepoleを使っていると、たまによく分からない差分が出てくることがあります。 そういうときにverboseオプションをつけて実行すると、内部でどのような比較を行っているのかが出力されるので、デバッグの助けになります。 例えば次のようなSchemafileがあったとして create_table "users", force: :cascade do |t| t.string "name", null: false t.datetime "created_at", nu…

Rails / Active RecordでMySQLのgeometry型をサポートするライブラリを書いた

… 47.3)">> ridgepoleにPRをもらって、コードを眺めていたら何となく対応できそうだったので、書いてみた感じです。当初は自前でWKBのパースをやっていたんですが、まじめに考えると大変そうだったので、RGeoを使うようにしました。 MySQL 5.7の最新版だとInnoDBでもgeometry型にインデックスを貼れるので、利用する機会も増えるかも。 ridgepoleでは以下のように-rオプションでarmgを渡してやると、ダンプできます(が、動作はきちんと確認でき…

Ridgepole v0.7.0.beta2

Ridgepole v0.7.0.beta2をリリースしました。 開発中にコメントやフィードバックをしていただいた方にはありがとうございました。 github.com 主な変更点は以下の通りです。 Rails(ActiveRecord) 4.xのサポートを止めた 5.xと両方のフォーマットをサポートする必要があったspecがだいぶきれいになりました またactiverecord-mysql-awesomeの機能は5.xに取り込まれているので--enable-mysql-awe…

Kumogata2

…わからない生活をし、ridgepoleのRails5対応はFが減らず、必要に駆られて使い始めたElasticBeanstalkの闇が見え始めた現実から目をそらすため、以前から懸案だったCloudFormation用ツールKumogataの次世代版を作ってみました。 なにが問題だったのか aws-sdk-v1 v1もまだまだ現役で使えるとはいえ状況を見る感じだいぶv2が主流になってきて、このままv1を使い続けるのはリスキー…なんだけどライブラリを変更するのが地味に大変。大量のF…

Ridgepole v0.6.4

…inebarrel/ridgepole#execute-sql-using-external-script $ cat test.sh #!/bin/sh SQL="$1" CONFIG_JSON="$2" echo "$SQL" | mysql -u root my_db $ ridgepole -c config.yml --apply --external-script ./test.sh 変更を適用するときに、SQLを外部のスクリプトに渡すことができるようになります。…

ridgepole+alter .. , lock=none

Ridgepole v0.6.4で、ALTER文にLOCK=NONEとか付けられるようにしました。 $ ridgepole -a -c '{adapter: mysql2, database: employees}' --alter-extra="LOCK=NONE" --dry-run Apply `Schemafile` (dry-run) add_column("dept_manager", "to_date2", :date, {:null=>false, :afte…

ridgepole+pt-osc

Ridgepoleに--external-scriptというオプションを付けました。 更新SQLの実行を外部スクリプトで行うオプションです。 これで、一応pt-oscを使って、DDLを実行できるようにはなりました。あとは、MySQLのALTER文で末尾にLOCK=NONEを付けるとか。 ただ、MySQLのインデックス追加・削除に関してはCREATE INDEX、DROP INDEXが渡されるため、ALTER文への書き換えが必要です。 また、ALTER文についても、pt-osc…

AR/MySQLでの"default"の変更について

… == false ridgepoleでの扱い 「未定義はnil」としました。 が、null: false以外のときの動作が気になる、、、 https://github.com/winebarrel/ridgepole/commit/971aec10ef086f40b8b820b7f8a33bfe29c6f281#diff-5a06f7bcdc0cee42290e2d9c68ade46cR262 if not opts.has_key?(:default) opts[:def…

ridgepole v0.6.0: support AR 4.2.1

…問題なさそうなので、ridgepole v0.6.0をリリースしました。 https://github.com/winebarrel/ridgepole betaにフィードバックいただいた方々、ありがとうございましたm(_ _)m 大きな変更点としてはRails 4.2に対応しました。 それに付随したりしなかったりで以下のような変更点があります。 migration-comments/foreigner/mysql-unsignedのサポートがなくなりました わりと弊社ドメイ…

ridgepole v0.5.2.beta2: Support activerecord-mysql-awesome (support collate)

ridgepole v0.5.2.beta2をリリースしました。 https://github.com/winebarrel/ridgepole/tree/v0.5.2 https://rubygems.org/gems/ridgepole/versions/0.5.2.beta2 ベータバージョンなので--preオプションを付けてのインストールになります。 近日中に正式版をリリースする予定です。 gem install ridgepole --pre ChangeLog S…

Ridgepole 0.4.10

…分からないのですが、Ridgepole 0.4.10をリリースしました。 https://github.com/winebarrel/ridgepole 変更点 テーブルのリネーム時にdry-runをするとこける不具合を直しました 以上です。 Fixの副作用として、dry-run時にshow/selectほげほげが失敗してもエラーが上がらないという問題が発生する可能性があるのですが「リネームこける方が問題かなー」「dry-runに厳密なエラーチェックを期待してもなー」と思った…

Ridgepole 0.4.8.rc2: 外部キー対応

…inebarrel/ridgepole/tree/v0.4.8#foreign-key ※インストール時、要--preオプション 使い方 create_table "parent", force: true do |t| end create_table "child", id: false, force: true do |t| t.integer "id" t.integer "parent_id" end add_index "child", ["parent_id"]…

Ridgepole 0.4.8.rc1: executeを追加してみた

スキーマ管理ツール Ridgepole にexecuteメソッドを追加してみました。 https://github.com/winebarrel/ridgepole/tree/v0.4.8#execute rc1なのでインストールする場合は--preオプションが必要になります。 使い方 executeを使ってforeign keyを貼る例です: create_table "authors", force: true do |t| t.string "name", null: …

GitHubを使った複数人でのスキーマ管理 on Rails

…スキーマ管理ツール(Ridgepole)を使うと、GitHubを使ったワークフローでスキーマを管理できる(と思います、たぶん) RailsのMigrationsについての問題提起 Migrationsは便利な仕組みですがベストではないと常々思っていました。 具体的には、特定のマイグレーションを保留にしにくいとか、複数人で作業するとコンフリクトすることがあるとか。 大きめのRailsプロジェクトだと特別なワークフローを用意して解決しているんですかね…声出して行こうぜ!とか。 C…

Ridgepole 0.0.1

Ridgepoleというスキーマ管理ツールを作りました。 https://bitbucket.org/winebarrel/ridgepole デモを見ればわかると思いますが、RailsのDSLでスキーマを定義してその通りにDBを変更するものです。(Chef/Puppetのごとく) Migrationはいまいちなので、こういう感じでスキーマを管理できるといいなぁ…と。 テスト全然書いてないので、しばらくはテスト書いたり使いまくってみたりですが、ある程度品質が高くなったら実践投…