Module: ActiveRecord::ConnectionAdapters::SchemaStatements
- Defined in:
- lib/active_record/connection_adapters/ibm_db_pstmt.rb,
lib/active_record/connection_adapters/ibm_db_adapter.rb
Instance Method Summary collapse
- #assume_migrated_upto_version(version) ⇒ Object
- #create_table_definition(name, temporary, options, as = nil) ⇒ Object
Instance Method Details
#assume_migrated_upto_version(version) ⇒ Object
1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 |
# File 'lib/active_record/connection_adapters/ibm_db_pstmt.rb', line 1931 def assume_migrated_upto_version(version) version = version.to_i sm_table = quote_table_name(ActiveRecord::Migrator.schema_migrations_table_name) migrated = select_values("SELECT version FROM #{sm_table}").map(&:to_i) versions = Dir['db/migrate/[0-9]*_*.rb'].map do |filename| filename.split('/').last.split('_').first.to_i end unless migrated.include?(version) pstmt = prepare("INSERT INTO #{sm_table} (version) VALUES (?)") execute_prepared_stmt(pstmt, [version]) end inserted = Set.new (versions - migrated).each do |v| if inserted.include?(v) raise "Duplicate migration #{v}. Please renumber your migrations to resolve the conflict." elsif v < version pstmt = prepare("INSERT INTO #{sm_table} (version) VALUES (?)") execute_prepared_stmt(pstmt, [v]) inserted << v end end end |
#create_table_definition(name, temporary, options, as = nil) ⇒ Object
563 564 565 |
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 563 def create_table_definition(name, temporary, , as=nil) TableDefinition.new(self, name, temporary, , as) end |