On Friday, August 14, 2020 at 3:03:19 PM UTC-7, Anant M wrote:
>
> Thanks! Ran it with -E and here's where it failed:
>
>>
>> I, [2020-08-14T16:48:19.596261 #64101]  INFO -- : (0.004751s) ALTER TABLE 
>> "BxMSOptions" ADD FOREIGN KEY ("courseID") REFERENCES "Courses"("courseID")
>> E, [2020-08-14T16:48:19.597539 #64101] ERROR -- : PG::UndefinedTable: 
>> ERROR:  relation "courses" does not exist: ALTER TABLE 
>> "CoursesUGDesignations" ADD FOREIGN KEY ("courseID") REFERENCES 
>> "courses"("courseID"), ADD FOREIGN KEY ("designation") REFERENCES 
>> "UGDesignations"("designation")
>>
>
> This was a new table that was added that created the new error. However, 
> other tables do have foreign keys that link to Courses/courseID so I'm 
> unsure why it is breaking now, where the other dump has the following:
>
> I, [2020-08-14T16:57:34.177727 #65461]  INFO -- : (0.006945s) ALTER TABLE 
>> "BxMSOptions" ADD FOREIGN KEY ("courseID") REFERENCES "Courses"("courseID")
>> I, [2020-08-14T16:57:34.179610 #65461]  INFO -- : (0.001656s) ALTER TABLE 
>> "CrossListings" ADD FOREIGN KEY ("courseID") REFERENCES 
>> "Courses"("courseID")
>>
>
> I guess it seems like the new foreign key was created to reference 
> lowercase courses. Is there a way to not wrap table names in double quotes 
> while copying?
>

Something like that should be really fixed in the source database.

To disable quoting when using the -C option, you could add a file named 
disable_quoting.rb to the current directory with the following content:

DB.extension :identifier_mangling
DB.quote_identifiers = false
Sequel::Database.after_initialize do |db|
  db.extension :identifier_mangling
  db.quote_identifiers = false
end

 
Then you could run the copy loading that file:

bin/sequel -C -E -r ./disable_quoting.rb sqlite://... postgres://...

I have no idea if that will result in a working database or not.  Disabling 
identifier quoting can result in all manner of issues.  I highly recommend 
you fix the source SQLite database before attempting to migrate SQLite to 
PostgreSQL, instead of trying to disable identifier quoting.

Thanks,
Jeremy

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sequel-talk/ad61319d-a664-406f-b74e-f11024c5ef8co%40googlegroups.com.

Reply via email to