basyura's blog

あしたになったらほんきだす。

sequel

Sequel Development を何となく訳してみる

Development Sequel is being actively developed! You can join in on the discussions, ask questions, suggest features, and discuss Sequel in general by joining our Google Group - Sequel Talk or our IRC channel. Sequel: The Database Toolkit f…

Sequel: The Database Toolkit for Ruby (v3.7.0)

なんとなく和訳してみる Sequel provides thread safety, connection pooling and a concise DSL for constructing database queries and table schemas. Sequel: The Database Toolkit for Ruby (v3.7.0) スレッドセーフなコネクションプーリングとDB 並び…

migrate

実行されないと思ったらファイル名に規則がある The Migrator module performs migrations based on migration files in a specified directory. The migration files should be named using the following pattern (in similar fashion to ActiveRecord mig…

csv 出力

sql 実行しただけなんだけど。 require 'sequel' DB = Sequel.connect('mysql://root:pass@127.0.0.1/tusers') DB.execute("select * from users into outfile '/tmp/mout.csv' fields terminated by \',\'") find_all で全件取得するよりも、csv に吐いたも…

全件検索の時間

スキーマ定義 unless DB.table_exists? :users DB.create_table :users do primary_key :id String :screen_name, :unique => true String :uid String :name varchar :description , :length => 500 varchar :profile_image_url , :length => 500 varchar :…

Snow Leopard で Mysql

Sequel 経由で mysql にアクセスしても Mysql::Error が無いって(NameError)怒られちゃう。インストールした mysql.rb を require しても require 'mysql_api'で失敗してた。 port からインストールした mysql を全部消して http://dev.mysql.com/downloads/…

sqlite3 の CR

twitter のユーザ情報をクロールして sqlite3 に突っ込んでみてるんだけど性能がちょっと。 84000件のレコード を find_all → 16 [s] create → 526.722367 [s] transaction 付きで create → 432 [s]こんな使い方するのが間違いか・・・。一時間に一回、デー…

あたりまえだけどトランザクション

class Users < Sequel::Model ; end DB.transaction do # テーブルのレコード全削除 Users.delete # レコード insert Users.create( :screen_name => "bbbb", :description => "いいいい" ) # エラーが発生してロールバックするので # テーブルの削除も inse…

Sequel で トランザクション管理

直感的に Users.create が独立してるように見えてトランザクション管理されないように感じるんだけど、 素直に transaction を使えばいい。 require 'rubygems' require 'sequel' # DB オープン DB = Sequel.sqlite("transaction.db") # テーブルを生成 unle…

ROneUsers を作ってみた

Twitter で発言場所導入の話が上がってきてる中、自力で半径 1 クリックの範囲を収集した地域別 Twitter ユーザ数を集計。自分の住んでる地域に近い人を探したい人にぴったり(かもしれないけど、なかなか地方の人にはヒットしない)。特徴 あーるわんゆーざー…

テーブルを作ってインデックスを追加

DB = Sequel.sqlite('tusers.db') unless DB.table_exists? :users DB.create_table :users do primary_key :id text :screen_name, :unique => true text :name text :description integer :utc_offset text :time_zone text :location integer :followers_…