Class/Module Index [+]

Quicksearch

Sequel::Plugins::Schema::ClassMethods

Public Instance Methods

create_table() click to toggle source

Creates table, using the column information from set_schema.

# File lib/sequel/plugins/schema.rb, line 22
def create_table
  db.create_table(table_name, :generator=>@schema)
  @db_schema = get_db_schema(true)
  columns
end
create_table!() click to toggle source

Drops the table if it exists and then runs create_table. Should probably not be used except in testing.

# File lib/sequel/plugins/schema.rb, line 30
def create_table!
  drop_table rescue nil
  create_table
end
create_table?() click to toggle source

Creates the table unless the table already exists

# File lib/sequel/plugins/schema.rb, line 36
def create_table?
  create_table unless table_exists?
end
drop_table() click to toggle source

Drops table.

# File lib/sequel/plugins/schema.rb, line 41
def drop_table
  db.drop_table(table_name)
end
schema() click to toggle source

Returns table schema created with set_schema for direct descendant of Model. Does not retreive schema information from the database, see db_schema if you want that.

# File lib/sequel/plugins/schema.rb, line 48
def schema
  @schema || (superclass.schema unless superclass == Model)
end
set_schema(name = nil, &block) click to toggle source

Defines a table schema (see Schema::Generator for more information).

This is only needed if you want to use the create_table/create_table! methods. Will also set the dataset if you provide a name, as well as setting the primary key if you defined one in the passed block.

In general, it is a better idea to use migrations for production code, as migrations allow changes to existing schema. set_schema is mostly useful for test code or simple examples.

# File lib/sequel/plugins/schema.rb, line 61
def set_schema(name = nil, &block)
  set_dataset(db[name]) if name
  @schema = Sequel::Schema::Generator.new(db, &block)
  set_primary_key(@schema.primary_key_name) if @schema.primary_key_name
end
table_exists?() click to toggle source

Returns true if table exists, false otherwise.

# File lib/sequel/plugins/schema.rb, line 68
def table_exists?
  db.table_exists?(table_name)
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.