como alterar a migração de trilhos t.timestamps para usar `timestamp (0) sem fuso horário` no postgres

Estou tentando descobrir como alterar o tipo de dados nativo quet.timestamps usa em uma migração de trilhos. O tipo padrão que termina no postgres étimestamp without timezone. O que eu gostaria, em vez disso, étimestamp(0) without timezone.

Gostaria de alterar o tipo de dados nativo para que, quando uma nova tabela for criada et.timestamps é usado na migração, ele cria automaticamente o tipo de dados do carimbo de data / hora corret

Eu exijotimestamp(0) without timezone porque meu aplicativo rails compartilha seu banco de dados com um aplicativo laravel e os dois aplicativos podem inserir dados. Devido ao fato de o rails usar milissegundos / laravel, não parece, e não parece haver uma maneira (a partir de 23/10/2018) para o laravel suportar uma tabela que contenha diferentes formatos de timestamps Y-m-d H:i:s.u vsY-m-d H:i:s) sem precisar desativar os carimbos de data e hora no modelo, desabilitando essencialmente o gerenciamento automático deles, gostaria que o banco de dados reforçasse o uso de um único formato Y-m-d H:i:s).

Para mais detalhes, por favor, minha outra pergunta: Existe uma maneira de alterar os carimbos de data e hora padrão do Rails para Y-m-d H: i: s (em vez de Y-m-d H: i: s.u) ou fazer com que o laravel ignore a parte decimal de Y-m-d H: i: s.u?

Então eu quero usartimestamp(0) para truncar os milissegundos e não precisar pensar em definir os tipos de carimbo de data / hora da tabela corretamente ao criar uma nova tabela, pois o tipo nativo já seriatimestamp(0)

Eu tentei isso

./config/environments/initializers

require "active_record/connection_adapters/postgresql_adapter"

module ActiveRecord
 module ConnectionAdapters
   class PostgreSQLAdapter
     NATIVE_DATABASE_TYPES.merge!(
      timestamp: { name: "timestamp(0) without timezone" }
     )
   end
 end
end

e uma migração como

class ChangeTimestampTypesToTimestamp0 < ActiveRecord::Migration[5.2]
  def change
    create_table :test, id: :uuid, default: -> { "gen_random_uuid()" } do|t|
      t.string :name, null: false

      t.timestamps
    end
  end
end

mas isso não funciono

Também tentei alterar o carimbo de data / hora para usar timestampz com a mesma migração acima de uma verificação de sanidade, ainda sem sorte ...

require "active_record/connection_adapters/postgresql_adapter"

module ActiveRecord
 module ConnectionAdapters
   class PostgreSQLAdapter
     NATIVE_DATABASE_TYPES.merge!(
       timestamp: { name: "timestamptz" }
     )
   end
 end
end

questionAnswers(2)

yourAnswerToTheQuestion