Class: PgSqlTriggers::Generators::TriggerMigrationGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- PgSqlTriggers::Generators::TriggerMigrationGenerator
- Includes:
- Rails::Generators::Migration
- Defined in:
- lib/generators/pg_sql_triggers/trigger_migration_generator.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.next_migration_number(_dirname) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/generators/pg_sql_triggers/trigger_migration_generator.rb', line 16 def self.next_migration_number(_dirname) # Get the highest migration number from existing migrations existing = if Rails.root.join("db/triggers").exist? Rails.root.glob("db/triggers/*.rb") .map { |f| File.basename(f, ".rb").split("_").first.to_i } .reject(&:zero?) .max || 0 else 0 end # Generate next timestamp-based version # Format: YYYYMMDDHHMMSS now = Time.now.utc base = now.strftime("%Y%m%d%H%M%S").to_i # If we have existing migrations, ensure we're incrementing base = existing + 1 if existing.positive? && base <= existing base end |
Instance Method Details
#create_trigger_migration ⇒ Object
38 39 40 41 42 43 |
# File 'lib/generators/pg_sql_triggers/trigger_migration_generator.rb', line 38 def create_trigger_migration migration_template( "trigger_migration.rb.erb", "db/triggers/#{file_name}.rb" ) end |