/ / Migrare da sqlite3 a postgresql su Rails 3? - database, ruby-on-rails-3, sqlite, postgresql

Migrazione da sqlite3 a postgresql su Rails 3? - database, ruby-on-rails-3, sqlite, postgresql

Seguendo il post: Come migrare da SQLite a PostgreSQL (Rails)

Sto correndo sqlite3 development.sqlite3 .dump | psql mypgdb mypguser nella mia app Rails e ricevo questo errore (lo stesso per tutti i modelli / tabelle nella mia app):

ERROR:  current transaction is aborted, commands ignored until end of transaction block
ERROR:  current transaction is aborted, commands ignored until end of transaction block
ERROR:  current transaction is aborted, commands ignored until end of transaction block
ERROR:  current transaction is aborted, commands ignored until end of transaction block
ERROR:  current transaction is aborted, commands ignored until end of transaction block
ERROR:  current transaction is aborted, commands ignored until end of transaction block
ERROR:  current transaction is aborted, commands ignored until end of transaction block
ERROR:  current transaction is aborted, commands ignored until end of transaction block
ERROR:  current transaction is aborted, commands ignored until end of transaction block
ERROR:  current transaction is aborted, commands ignored until end of transaction block
ERROR:  current transaction is aborted, commands ignored until end of transaction block
ERROR:  syntax error at or near "AUTOINCREMENT"
LINE 1: ...E TABLE "projects" ("id" INTEGER PRIMARY KEY AUTOINCREM...

Apprezzerei alcuni suggerimenti / risolti. Grazie!

risposte:

2 per risposta № 1

Questo non è un SQL valido per PostgreSQL - probabilmente vuoi un file SERIALE invece di INTEGER AUTOINCREMENT. Potresti volerlo impostare manualmente il valore successivo anche di queste sequenze al massimo (id) +1.

Quindi dovrai occuparti di tutte le altre differenze tra uno sqlite per lo più senza tipo e un PostgreSQL rigoroso.

Allora vorrai smettere di usare sistemi differenti nella tua configurazione di sviluppo e durante la distribuzione.


0 per risposta № 2

Ti consiglio di usare gem "yaml_db", lo scopo è spostare le tabelle da un database a un altro. https://github.com/ludicast/yaml_db#readme

Puoi fare tutto semplicemente con questo gioiello con una bella documentazione. Ha 2 comandi di base, quindi niente di difficile.