-
-
Save jeremyevans/31367 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ ruby -I lib bin/sequel -E sqlite:/ | |
Your database is stored in DB... | |
irb(main):001:0> class AddFoosMigration < Sequel::Migration | |
irb(main):002:1> def up | |
irb(main):003:2> create_table :foos do | |
irb(main):004:3* primary_key :id | |
irb(main):005:3> string :name | |
irb(main):006:3> end | |
irb(main):007:2> end | |
irb(main):008:1> | |
irb(main):009:1* def down | |
irb(main):010:2> drop_table :foos | |
irb(main):011:2> end | |
irb(main):012:1> end | |
=> nil | |
irb(main):013:0> AddFoosMigration.apply(DB, :up) | |
I, [2008-12-02T16:44:15.529435 #22819] INFO -- : CREATE TABLE `foos` (`id` integer PRIMARY KEY AUTOINCREMENT, `name` string) | |
=> ["CREATE TABLE `foos` (`id` integer PRIMARY KEY AUTOINCREMENT, `name` string)"] | |
irb(main):014:0> AddFoosMigration.apply(DB, :down) | |
I, [2008-12-02T16:44:20.169365 #22819] INFO -- : DROP TABLE `foos` | |
=> [:foos] | |
irb(main):015:0> DB.transaction{AddFoosMigration.apply(DB, :up)} | |
I, [2008-12-02T16:44:24.337881 #22819] INFO -- : CREATE TABLE `foos` (`id` integer PRIMARY KEY AUTOINCREMENT, `name` string) | |
=> ["CREATE TABLE `foos` (`id` integer PRIMARY KEY AUTOINCREMENT, `name` string)"] | |
irb(main):016:0> DB.transaction{AddFoosMigration.apply(DB, :down)} | |
I, [2008-12-02T16:44:34.261840 #22819] INFO -- : DROP TABLE `foos` | |
=> [:foos] | |
irb(main):017:0> DB.transaction{DB.drop_column :foos, :name} | |
I, [2008-12-02T16:44:58.650016 #22819] INFO -- : PRAGMA table_info(`foos`) | |
I, [2008-12-02T16:44:58.650425 #22819] INFO -- : BEGIN TRANSACTION | |
Sequel::DatabaseError: SQLite3::SQLException cannot start a transaction within a transaction | |
from /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4/lib/sqlite3/errors.rb:62:in `check' | |
from /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4/lib/sqlite3/resultset.rb:56:in `check' | |
from /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4/lib/sqlite3/resultset.rb:48:in `commence' | |
from /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4/lib/sqlite3/resultset.rb:38:in `initialize' | |
from /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4/lib/sqlite3/statement.rb:135:in `new' | |
from /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4/lib/sqlite3/statement.rb:135:in `execute' | |
from /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4/lib/sqlite3/database.rb:226:in `execute_batch' | |
from /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4/lib/sqlite3/database.rb:157:in `prepare' | |
from /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4/lib/sqlite3/database.rb:225:in `execute_batch' | |
from ./lib/sequel_core/adapters/sqlite.rb:51:in `execute_dui' | |
from ./lib/sequel_core/adapters/sqlite.rb:92:in `_execute' | |
from ./lib/sequel_core/connection_pool.rb:102:in `hold' | |
from ./lib/sequel_core/database.rb:361:in `synchronize' | |
from ./lib/sequel_core/adapters/sqlite.rb:92:in `_execute' | |
from ./lib/sequel_core/adapters/sqlite.rb:51:in `execute_dui' | |
from ./lib/sequel_core/database.rb:256:in `execute_ddl' | |
from ./lib/sequel_core/database/schema.rb:45:in `alter_table' | |
from ./lib/sequel_core/database/schema.rb:45:in `each' | |
from ./lib/sequel_core/database/schema.rb:45:in `alter_table' | |
from ./lib/sequel_core/database/schema.rb:94:in `drop_column' | |
from (irb):17 | |
from ./lib/sequel_core/adapters/sqlite.rb:77:in `transaction' | |
from /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4/lib/sqlite3/database.rb:564:in `transaction' | |
from ./lib/sequel_core/adapters/sqlite.rb:77:in `transaction' | |
from ./lib/sequel_core/connection_pool.rb:109:in `hold' | |
from ./lib/sequel_core/database.rb:361:in `synchronize' | |
from ./lib/sequel_core/adapters/sqlite.rb:73:in `transaction' | |
from (irb):17irb(main):018:0> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment