Class: Convergence::Dumper::SqliteSchemaDumper
- Inherits:
-
Object
- Object
- Convergence::Dumper::SqliteSchemaDumper
- Defined in:
- lib/convergence/dumper/sqlite_schema_dumper.rb
Constant Summary collapse
- DEFAULT_VALUE_PATTERN =
/\A'(?<value>(?:[^']|'')*)'\z/.freeze
- FOREIGN_KEY_NAME_PATTERN =
SQLite has no CONSTRAINT-name introspection pragma; the name is only preserved in the original CREATE TABLE text.
/CONSTRAINT\s+"?(?<name>\w+)"?\s+FOREIGN KEY\s*\(\s*"?(?<column>\w+)"?\s*\)/i.freeze
Instance Method Summary collapse
- #dump ⇒ Object
-
#initialize(connector) ⇒ SqliteSchemaDumper
constructor
A new instance of SqliteSchemaDumper.
Constructor Details
#initialize(connector) ⇒ SqliteSchemaDumper
Returns a new instance of SqliteSchemaDumper.
10 11 12 13 |
# File 'lib/convergence/dumper/sqlite_schema_dumper.rb', line 10 def initialize(connector) @connector = connector @tables = {} end |
Instance Method Details
#dump ⇒ Object
15 16 17 18 19 20 21 22 23 24 |
# File 'lib/convergence/dumper/sqlite_schema_dumper.rb', line 15 def dump table_names.each do |table_name| table = Convergence::Table.new(table_name) parse_columns(table, column_definitions(table_name)) parse_indexes(table, index_definitions(table_name)) parse_foreign_keys(table, table_name) @tables[table_name] = table end @tables end |