Class: DynamicMigrations::Postgres::Server
- Inherits:
-
Object
- Object
- DynamicMigrations::Postgres::Server
- Defined in:
- lib/dynamic_migrations/postgres/server.rb,
lib/dynamic_migrations/postgres/server/database.rb,
lib/dynamic_migrations/postgres/server/database/schema.rb,
lib/dynamic_migrations/postgres/server/database/source.rb,
lib/dynamic_migrations/postgres/server/database/connection.rb,
lib/dynamic_migrations/postgres/server/database/differences.rb,
lib/dynamic_migrations/postgres/server/database/schema/enum.rb,
lib/dynamic_migrations/postgres/server/database/enums_loader.rb,
lib/dynamic_migrations/postgres/server/database/schema/enums.rb,
lib/dynamic_migrations/postgres/server/database/schema/table.rb,
lib/dynamic_migrations/postgres/server/database/schema/tables.rb,
lib/dynamic_migrations/postgres/server/database/loaded_schemas.rb,
lib/dynamic_migrations/postgres/server/database/schema/function.rb,
lib/dynamic_migrations/postgres/server/database/schema/functions.rb,
lib/dynamic_migrations/postgres/server/database/structure_loader.rb,
lib/dynamic_migrations/postgres/server/database/extensions_loader.rb,
lib/dynamic_migrations/postgres/server/database/loaded_extensions.rb,
lib/dynamic_migrations/postgres/server/database/configured_schemas.rb,
lib/dynamic_migrations/postgres/server/database/schema/table/index.rb,
lib/dynamic_migrations/postgres/server/database/validations_loader.rb,
lib/dynamic_migrations/postgres/server/database/schema/table/column.rb,
lib/dynamic_migrations/postgres/server/database/schema/table/columns.rb,
lib/dynamic_migrations/postgres/server/database/schema/table/indexes.rb,
lib/dynamic_migrations/postgres/server/database/schema/table/trigger.rb,
lib/dynamic_migrations/postgres/server/database/configured_extensions.rb,
lib/dynamic_migrations/postgres/server/database/schema/table/triggers.rb,
lib/dynamic_migrations/postgres/server/database/loaded_schemas_builder.rb,
lib/dynamic_migrations/postgres/server/database/schema/table/validation.rb,
lib/dynamic_migrations/postgres/server/database/schema/table/primary_key.rb,
lib/dynamic_migrations/postgres/server/database/schema/table/validations.rb,
lib/dynamic_migrations/postgres/server/database/differences/to_migrations.rb,
lib/dynamic_migrations/postgres/server/database/triggers_and_functions_loader.rb,
lib/dynamic_migrations/postgres/server/database/schema/table/unique_constraint.rb,
lib/dynamic_migrations/postgres/server/database/schema/table/unique_constraints.rb,
lib/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas.rb,
lib/dynamic_migrations/postgres/server/database/keys_and_unique_constraints_loader.rb,
lib/dynamic_migrations/postgres/server/database/schema/table/foreign_key_constraint.rb,
lib/dynamic_migrations/postgres/server/database/differences/to_migrations/extensions.rb,
lib/dynamic_migrations/postgres/server/database/schema/table/foreign_key_constraints.rb,
lib/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/enums.rb,
lib/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables.rb,
lib/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/functions.rb,
lib/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/columns.rb,
lib/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/indexes.rb,
lib/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/triggers.rb,
lib/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/primary_key.rb,
lib/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/validations.rb,
lib/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/unique_constraints.rb,
lib/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/foreign_key_constraints.rb
Overview
This class represents a postgres server. A server can contain many databases.
Defined Under Namespace
Classes: Database, DatabaseAlreadyExistsError
Instance Attribute Summary collapse
-
#host ⇒ Object
readonly
Returns the value of attribute host.
-
#password ⇒ Object
readonly
Returns the value of attribute password.
-
#port ⇒ Object
readonly
Returns the value of attribute port.
-
#username ⇒ Object
readonly
Returns the value of attribute username.
Instance Method Summary collapse
- #add_database(name) ⇒ Object
- #database(name) ⇒ Object
- #databases ⇒ Object
-
#initialize(host, port, username, password) ⇒ Server
constructor
initialize a new object to represent a postgres server.
- #migrations ⇒ Object
Constructor Details
#initialize(host, port, username, password) ⇒ Server
initialize a new object to represent a postgres server
13 14 15 16 17 18 19 |
# File 'lib/dynamic_migrations/postgres/server.rb', line 13 def initialize host, port, username, password @host = host @port = port @username = username @password = password @databases = {} end |
Instance Attribute Details
#host ⇒ Object (readonly)
Returns the value of attribute host.
10 11 12 |
# File 'lib/dynamic_migrations/postgres/server.rb', line 10 def host @host end |
#password ⇒ Object (readonly)
Returns the value of attribute password.
10 11 12 |
# File 'lib/dynamic_migrations/postgres/server.rb', line 10 def password @password end |
#port ⇒ Object (readonly)
Returns the value of attribute port.
10 11 12 |
# File 'lib/dynamic_migrations/postgres/server.rb', line 10 def port @port end |
#username ⇒ Object (readonly)
Returns the value of attribute username.
10 11 12 |
# File 'lib/dynamic_migrations/postgres/server.rb', line 10 def username @username end |
Instance Method Details
#add_database(name) ⇒ Object
21 22 23 24 25 |
# File 'lib/dynamic_migrations/postgres/server.rb', line 21 def add_database name raise ExpectedSymbolError, name unless name.is_a? Symbol raise DatabaseAlreadyExistsError, "database `#{name}` already exists" if @databases.key? name @databases[name] = Database.new self, name end |
#database(name) ⇒ Object
27 28 29 30 |
# File 'lib/dynamic_migrations/postgres/server.rb', line 27 def database name raise ExpectedSymbolError, name unless name.is_a? Symbol @databases[name] end |
#databases ⇒ Object
32 33 34 |
# File 'lib/dynamic_migrations/postgres/server.rb', line 32 def databases @databases.values end |
#migrations ⇒ Object
36 37 38 39 40 |
# File 'lib/dynamic_migrations/postgres/server.rb', line 36 def migrations databases.each_with_object({}) { |database, result| result[database.name] = database.differences.to_migrations } end |