Class: ActiveRecord::SchemaMigration
- Defined in:
- lib/active_record/schema_migration.rb
Constant Summary
Constants included from ConnectionHandling
ConnectionHandling::VALID_CONN_PARAMS
Constants included from Transactions
Constants included from Callbacks
Instance Attribute Summary
Attributes included from Associations
Class Method Summary collapse
- .create_table(limit = nil) ⇒ Object
- .drop_table ⇒ Object
- .index_name ⇒ Object
- .normalize_migration_number(number) ⇒ Object
- .primary_key ⇒ Object
- .table_name ⇒ Object
Instance Method Summary collapse
Methods included from ConnectionHandling
#clear_cache!, #connected?, #connection, #connection_config, #connection_id, #connection_id=, #connection_pool, #establish_connection, #mysql2_connection, #mysql_connection, #postgresql_connection, #remove_connection, #retrieve_connection, #sqlite3_connection
Methods included from QueryCache::ClassMethods
Methods included from Querying
Methods included from Translation
#i18n_scope, #lookup_ancestors
Methods included from DynamicMatchers
Methods included from Explain
#collecting_queries_for_explain, #exec_explain
Methods included from Core
#<=>, #==, #connection, #connection_handler, #encode_with, #freeze, #frozen?, #has_transactional_callbacks?, #hash, #init_with, #initialize, #initialize_dup, #inspect, #readonly!, #readonly?, #set_transaction_state, #slice, #yaml_initialize
Methods included from Serialization
Methods included from Transactions
#add_to_transaction, #committed!, #destroy, #rollback_active_record_state!, #rolledback!, #save, #save!, #touch, #transaction, #with_transaction_returning_status
Methods included from Aggregations
Methods included from NestedAttributes
Methods included from AutosaveAssociation
#changed_for_autosave?, #destroyed_by_association, #destroyed_by_association=, #mark_for_destruction, #marked_for_destruction?, #reload
Methods included from Associations
#association, #clear_association_cache
Methods included from Timestamp
Methods included from Callbacks
Methods included from AttributeMethods
#[], #[]=, #attribute_for_inspect, #attribute_missing, #attribute_names, #attribute_present?, #attributes, #attributes_for_coder, #column_for_attribute, #has_attribute?, #method_missing, #respond_to?
Methods included from Locking::Pessimistic
Methods included from Locking::Optimistic
Methods included from Validations
Methods included from Integration
Methods included from AttributeAssignment
Methods included from Sanitization
Methods included from Scoping
#populate_with_current_scope_attributes
Methods included from ReadonlyAttributes
Methods included from Persistence
#becomes, #becomes!, #decrement, #decrement!, #delete, #destroy, #destroy!, #destroyed?, #increment, #increment!, #new_record?, #persisted?, #reload, #save, #save!, #toggle, #toggle!, #touch, #update, #update!, #update_attribute, #update_column, #update_columns
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class ActiveRecord::AttributeMethods
Class Method Details
.create_table(limit = nil) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/active_record/schema_migration.rb', line 19 def self.create_table(limit=nil) unless connection.table_exists?(table_name) = {null: false} [:limit] = limit if limit connection.create_table(table_name, id: false) do |t| t.column :version, :string, end connection.add_index table_name, :version, unique: true, name: index_name end end |
.drop_table ⇒ Object
31 32 33 34 35 36 |
# File 'lib/active_record/schema_migration.rb', line 31 def self.drop_table if connection.table_exists?(table_name) connection.remove_index table_name, name: index_name connection.drop_table(table_name) end end |
.index_name ⇒ Object
15 16 17 |
# File 'lib/active_record/schema_migration.rb', line 15 def self.index_name "#{Base.table_name_prefix}unique_schema_migrations#{Base.table_name_suffix}" end |
.normalize_migration_number(number) ⇒ Object
38 39 40 |
# File 'lib/active_record/schema_migration.rb', line 38 def self.normalize_migration_number(number) "%.3d" % number.to_i end |
.primary_key ⇒ Object
7 8 9 |
# File 'lib/active_record/schema_migration.rb', line 7 def self.primary_key nil end |
Instance Method Details
#version ⇒ Object
42 43 44 |
# File 'lib/active_record/schema_migration.rb', line 42 def version super.to_i end |