tina4ruby 3.13.54 → 3.13.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cd2180527148137de7bd985ed3951aefcae89d9fee30032de3c34434b3cc209e
4
- data.tar.gz: 78e32b6e6021f24c455bb002339a59c54a8a134a1b219493c6dc994d66ebaff5
3
+ metadata.gz: ad240221da05e1d22971216907aeffa2699c0bd5eae3b3e4b8aa0479bd2ee1e7
4
+ data.tar.gz: ef7821e3dc9d26d45b242fdaad3c8edb79960dcc9229012ec3a04298157e1336
5
5
  SHA512:
6
- metadata.gz: 8f422139294a6d51b34507f116dd21621e5299829b02f7ec613083bd2bc9d051a4c832c01dab8120978708fa637302b35b6b05d2f463a188f91dfc9d89d2879b
7
- data.tar.gz: 96ebc4a47de1674a828dc5913c4586fc82170f0c04159724d69a1cd6a99d15596bc5f217aa76ed4e119675559fc48d7b22cbd71eccd10e231de32d1ab2bc61da
6
+ metadata.gz: 8ff611bd9c3c98c90036a44bf4bb03152e6e7eb280861bb9a9536fa79fbfae35e32502af36bf39a987598f5194bc5eb3bc8a8ff7608ef2aec220404a20d66b45
7
+ data.tar.gz: ccd42641cb4756e6e78d14249b7a11d792f8d65e076a59c2e6055010341628f2246e86b8708da4dd8bda6f998dbf8b2342baf854d44b141a4ad70c075f8ae222
@@ -185,9 +185,9 @@ module Tina4
185
185
  CREATE TABLE #{TRACKING_TABLE} (
186
186
  id INTEGER NOT NULL PRIMARY KEY,
187
187
  migration_name VARCHAR(500) NOT NULL UNIQUE,
188
- description VARCHAR(500) DEFAULT '',
188
+ description VARCHAR(500),
189
189
  batch INTEGER NOT NULL DEFAULT 1,
190
- executed_at VARCHAR(50) DEFAULT CURRENT_TIMESTAMP,
190
+ executed_at VARCHAR(50) NOT NULL,
191
191
  passed INTEGER NOT NULL DEFAULT 1
192
192
  )
193
193
  SQL
@@ -211,16 +211,16 @@ module Tina4
211
211
  when "mssql", "sqlserver" then "id INTEGER IDENTITY(1,1) PRIMARY KEY"
212
212
  else "id INTEGER PRIMARY KEY AUTOINCREMENT" # sqlite (default)
213
213
  end
214
- executed_at_column = %w[mssql sqlserver].include?(engine) ?
215
- "executed_at DATETIME DEFAULT CURRENT_TIMESTAMP" :
216
- "executed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP"
214
+ # Canonical executed_at is a written VARCHAR(50) string (no
215
+ # CURRENT_TIMESTAMP default a timestamp default on a VARCHAR is
216
+ # rejected by PostgreSQL/MySQL). recordMigration writes it explicitly.
217
217
  @db.execute(<<~SQL)
218
218
  CREATE TABLE #{TRACKING_TABLE} (
219
219
  #{id_column},
220
- migration_name VARCHAR(255) NOT NULL UNIQUE,
221
- description VARCHAR(255) DEFAULT '',
220
+ migration_name VARCHAR(500) NOT NULL UNIQUE,
221
+ description VARCHAR(500),
222
222
  batch INTEGER NOT NULL DEFAULT 1,
223
- #{executed_at_column},
223
+ executed_at VARCHAR(50) NOT NULL,
224
224
  passed INTEGER NOT NULL DEFAULT 1
225
225
  )
226
226
  SQL
@@ -628,6 +628,9 @@ module Tina4
628
628
  # Extract description from filename (strip numeric prefix and extension)
629
629
  stem = File.basename(name, File.extname(name))
630
630
  desc = stem.sub(/\A\d+_/, "").tr("_", " ")
631
+ # executed_at is a written VARCHAR(50) string (canonical shape has no
632
+ # CURRENT_TIMESTAMP default), ISO-8601 UTC. strftime avoids a require "time".
633
+ executed_at = Time.now.utc.strftime("%Y-%m-%dT%H:%M:%SZ")
631
634
  if firebird?
632
635
  # Firebird: generate ID from sequence
633
636
  row = @db.fetch_one(
@@ -635,13 +638,13 @@ module Tina4
635
638
  )
636
639
  next_id = row ? (row[:NEXT_ID] || row[:next_id] || 1).to_i : 1
637
640
  @db.execute(
638
- "INSERT INTO #{TRACKING_TABLE} (id, migration_name, description, batch, passed) VALUES (?, ?, ?, ?, ?)",
639
- [next_id, name, desc, batch, passed]
641
+ "INSERT INTO #{TRACKING_TABLE} (id, migration_name, description, batch, executed_at, passed) VALUES (?, ?, ?, ?, ?, ?)",
642
+ [next_id, name, desc, batch, executed_at, passed]
640
643
  )
641
644
  else
642
645
  @db.execute(
643
- "INSERT INTO #{TRACKING_TABLE} (migration_name, description, batch, passed) VALUES (?, ?, ?, ?)",
644
- [name, desc, batch, passed]
646
+ "INSERT INTO #{TRACKING_TABLE} (migration_name, description, batch, executed_at, passed) VALUES (?, ?, ?, ?, ?)",
647
+ [name, desc, batch, executed_at, passed]
645
648
  )
646
649
  end
647
650
  end
data/lib/tina4/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Tina4
4
- VERSION = "3.13.54"
4
+ VERSION = "3.13.55"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tina4ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.13.54
4
+ version: 3.13.55
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tina4 Team